우와한 개발자

[Docker] Docker 명령어 정리 - image, container 명령어와 run 옵션

by 우와한개발자

1. docker 명령어 기본 구조

docker    [상위명령]    [하위명령]    [옵션]      대상        [인자]
  ↑          ↑           ↑         ↑         ↑           ↑
 도커     container      run       -itd     ubuntu      /bin/bash
          image        build      -t     my_image:1.0      .
         volume        pull
         network       exec
위치 설명 예시
docker 항상 맨 앞 docker
[상위명령] 무엇을 다룰지 container, image, volume, network
[하위명령] 어떤 작업을 할지 run, build, pull, exec, start, stop, rm
[옵션] 명령의 세부 설정 -d (백그라운드 실행), -i, -t (대화형 실행)
대상 명령을 수행할 구체적인 대상 nginx, ubuntu, my_image:1.0
[인자] 대상에 전달할 값 지정 /bin/bash
💡 start, stop, run 처럼 컨테이너 관련 명령은 상위명령 container 생략 가능

 

2. docker image 명령어

명령어 설명 예시
docker image ls 로컬에 있는 Docker 이미지 목록 표시 docker image ls
docker image pull Docker Hub에서 이미지를 다운로드 docker image pull ubuntu:latest
docker image push 이미지를 Docker Hub 또는 레지스트리에 업로드 docker image push yourusername/yourimage
docker image build Dockerfile을 이용하여 이미지 생성 docker image build -t my_image:1.0 .
docker image inspect 이미지의 상세 정보 표시 docker image inspect my_image:1.0
docker image history 이미지의 레이어 히스토리 표시 docker image history my_image:1.0
docker image tag 이미지에 태그를 추가하거나 변경 docker image tag my_image:1.0 my_image:latest
docker image rm 이미지 삭제 docker image rm my_image:1.0
docker image prune 사용하지 않는 이미지 삭제 docker image prune
docker image save 이미지를 아카이브하여 파일로 저장 docker image save -o my_image.tar my_image:1.0
docker image load 아카이브된 이미지를 로드 docker image load -i my_image.tar

 

3. docker container 명령어

명령어 설명 예시
docker container ls 실행 중인 컨테이너 목록 표시 docker container ls
docker container ls -a 모든 컨테이너 목록 표시 docker container ls -a
docker container inspect 컨테이너 상세 정보 표시 docker container inspect my_container
docker container exec 실행 중인 컨테이너에서 명령 실행 docker container exec -it my_container /bin/bash
docker container run 새로운 컨테이너 실행 docker container run -d --name my_container nginx
docker container start 중지된 컨테이너 시작 docker container start my_container
docker container stop 실행 중인 컨테이너 중지 docker container stop my_container
docker container restart 컨테이너 재시작 docker container restart my_container
docker container pause 컨테이너 일시 중지 docker container pause my_container
docker container unpause 일시 중지된 컨테이너 재개 docker container unpause my_container
docker container rm 컨테이너 삭제 docker container rm my_container
docker container prune 사용하지 않는 컨테이너 삭제 docker container prune
docker container logs 컨테이너 로그 표시 docker container logs my_container
docker container cp 호스트 및 컨테이너 간 파일 복사 docker container cp my_container:/path/to/file /path/on/host
docker container top 실행 중인 프로세스 목록 표시 docker container top my_container
docker container stats 실행 중인 컨테이너 자원 사용량 표시 docker container stats my_container

 

4. 컨테이너 주요 옵션

1) 옵션 붙여 쓰기

  • i, t, d 처럼 단일 대시(-) 옵션들끼리만 붙여 쓰기 가능 -name, -network 처럼 더블 대시(--) 옵션은 붙여 쓰기 불가.
# 따로 쓰기
docker container run -i -t -d --name my_container nginx

# 붙여 쓰기 (단일 대시 옵션만 가능)
docker container run -itd --name my_container nginx

 

2)순서

  • 순서는 상관없으나 이미지 이름은 항상 맨 마지막
docker container run -itd --name my_container nginx
                                                ↑
                                      이미지 이름은 항상 마지막

 

옵션 설명 예시
-d 또는 --detach 컨테이너를 백그라운드에서 실행 docker container run -d nginx
-i 또는 --interactive 표준 입력을 활성화하고 컨테이너에 연결 docker container run -i ubuntu
-t 또는 --tty 터미널을 생성하고 컨테이너에 연결 docker container run -t ubuntu
-it 터미널로 컨테이너에 직접 접속 (i+t 같이 사용) docker container run -it ubuntu /bin/bash
-itd 백그라운드 실행 + 터미널 연결 (i+t+d 같이 사용) docker container run -itd --name my_container ubuntu
--name 컨테이너의 이름을 지정 docker container run -d --name my_web nginx
--network 컨테이너를 네트워크에 연결 docker container run -d --network my_network nginx
-p 또는 --publish 호스트포트:컨테이너포트 연결 docker container run -d -p 8080:80 nginx
-v 또는 --volume 볼륨 마운트 docker container run -d -v /host/data:/container/data nginx
--help 사용 방법 안내 메시지 출력 docker container run --help

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기