728x90
1️⃣ Docker 기본 명령어
| 명령어 | 설명 |
|---|---|
docker version |
Docker 버전 확인 |
docker info |
Docker 환경 정보 확인 |
docker login |
Docker Hub 로그인 |
docker logout |
Docker Hub 로그아웃 |
예시
- 레지스트리에 이미지 업로드
# 로그인
docker login
# 업로드
docker tag myapp:1.0 myregistry.company.com/myapp:1.0
docker push myregistry.company.com/myapp:1.0
2️⃣ 이미지 관련
| 명령어 | 설명 |
|---|---|
docker pull <이미지> |
이미지 다운로드 (예: docker pull ubuntu:22.04) |
docker build -t <이름>:<태그> . |
현재 디렉터리의 Dockerfile로 이미지 빌드 (내가 만든 Dockerfile) |
docker images |
로컬 이미지 목록 확인 |
docker rmi <이미지> |
이미지 삭제 |
docker tag <이미지> <새이름>:<태그> |
이미지 태그 변경 |
docker push <이미지> |
이미지 레지스트리에 업로드 |
예시
- 이미지 빌드
# 현재 디렉터리 Dockerfile로 이미지 빌드
docker build -t myapp:1.0 .
- 이미지 목록 확인
docker images
- 이미지 삭제
docker rmi myapp:1.0
3️⃣ 컨테이너 관련
| 명령어 | 설명 |
|---|---|
docker run -it --name <이름> <이미지> |
컨테이너 생성 및 실행 (대화형) |
docker run -d -p <호스트 port:컨테이너 port> <이미지> |
백그라운드 실행 및 포트 매핑 |
docker ps |
실행 중인 컨테이너 목록 확인 |
docker ps -a |
모든 컨테이너 목록 확인 |
docker stop <컨테이너> |
컨테이너 종료 |
docker start <컨테이너> |
컨테이너 시작 |
docker restart <컨테이너> |
컨테이너 재시작 |
docker rm <컨테이너> |
컨테이너 삭제 |
docker exec -it <컨테이너> bash |
실행 중인 컨테이너에 접속 |
예시
- 컨테이너 실행
# 포트 매핑, 백그라운드 실행
docker run -d -p 8080:8080 --name myapp_container myapp:1.0
# 대화형 실행 (프로그램 실행 후 로그 등을 볼 수 있음)
docker run -it --name myapp_dev myapp:1.0 /bin/bash

- 실행 중인 컨테이너 확인
docker ps # 실행 중
docker ps -a # 모든 컨테이너
- 컨테이너 종료 / 시작 / 삭제
docker stop myapp_container
docker start myapp_container
docker restart myapp_container
docker rm myapp_container
- 컨테이너 내부 접속
docker exec -it myapp_container bash # 리눅스
docker exec -it myapp_container /bin/sh # Mac OS (bash 없을 때)
- 컨테이너 로그 확인
docker logs -f myapp_container # 대화형 실행했을 때랑 동일한 인터페이스 나옴
참고 (docker run vs docker start)
docker run
- 새 컨테이너를 생성(create) + 시작(start)하는 명령어
- 실행할 이미지 이름을 반드시 줘야 함
- 내부적으로 `docker create` + `docker start` 를 합친 동작
💡 한 번 실행하면 같은 이름으로 다시 `docker run` 할 수 없음 (이미 존재하니까).
docker start
- 이미 생성된 컨테이너를 다시 실행하는 명령어
- 이미지 이름이 아니라 컨테이너 이름(ID) 으로 실행해야 함
- 종료했던 컨테이너를 그대로 다시 켜는 것
🔹 차이 요약
| 명령어 | 언제 사용? | 특징 |
| -------------- | ----------------- | -------------------- |
| `docker run` | 처음 컨테이너 만들 때 | 컨테이너 새로 생성 + 실행 |
| `docker start` | 이미 만든 컨테이너 다시 켤 때 | 기존 컨테이너 실행 (새로 안 만듦) |
4️⃣ 볼륨 & 네트워크
| 명령어 | 설명 |
|---|---|
docker volume create <이름> |
볼륨 생성 |
docker volume ls |
볼륨 목록 |
docker volume rm <이름> |
볼륨 삭제 |
docker network create <이름> |
네트워크 생성 |
docker network ls |
네트워크 목록 |
docker network rm <이름> |
네트워크 삭제 |
예시
- 볼륨 생성 / 연결
docker volume create mydata # 컨테이너 실행 시 마운트 docker run -d -v mydata:/app/data myapp:1.0
2. 환경 변수 설정
docker run -d -e SPRING_PROFILES_ACTIVE=prod myapp:1.0
- 네트워크 생성
docker network create my-network - 컨테이너 실행 시 네트워크 연결
docker run -d --network my-network --name db postgres:15 docker run -d --network my-network --name backend myapp:1.0
5️⃣ 로그 & 상태 확인
| 명령어 | 설명 |
|---|---|
docker logs <컨테이너> |
컨테이너 로그 확인 |
docker inspect <컨테이너/이미지> |
상세 정보 확인 |
docker stats |
컨테이너 리소스 사용량 확인 |
실무 예시
- 이미지 업데이트 후 컨테이너 재배포
docker pull myregistry.company.com/myapp:latest docker stop myapp_container docker rm myapp_container docker run -d -p 8080:8080 --name myapp_container myregistry.company.com/myapp:latest - 한 번에 로그 실시간 확인
docker logs -f myapp_container - 컨테이너 상태 확인
docker stats
728x90
반응형
'DevOps' 카테고리의 다른 글
| 🐳 Dockerfile 명령어 정리 (1) | 2025.08.31 |
|---|---|
| Kubernetes - Readiness probe vs Liveness probe (2) | 2025.08.17 |
| Kubernetes - 서비스 port 와 ingress (2) | 2025.08.17 |
| Kubernetes - Cluster 란? (node와 pod와의 관계) (2) | 2025.08.17 |
| Kubernetes 란? (1) | 2024.09.30 |