Structure
docker [main command] [subcommand] [option] [target] [argument]
Container
start
정지된 container 실행
docker container start [container name]
docker start [container name]
옵션 | 설명 |
---|---|
-i | container에 터미널을 연결함 |
docker container start -i [container name]
stop
container 정지
docker container stop [container name]
docker stop [container name]
create
container 생성
docker container create [image name]
docker create [image name]
옵션 | 설명 |
---|---|
—name [container name] | container 이름을 지정 |
-p [host port number]:[container port number] | 포트 번호를 지정 |
-e [environment variable]=[value] | 환경변수를 설정 |
-v [host path]:[container path] -v [volume name]:[container path] |
볼륨을 마운트함 |
docker container create \
--name [container name] \
-e [environment variable]=[value] \
-p [host port number]:[container port number] \
-v [host path or volume name]:[container path] \
[image name]
run
현재 해당 image를 내려받은 상태가 아니라면 먼저 이미지를 내려받은 후 container을 생성해 실행
docker image pull + docker container create + docker container start
docker container run [image name]
docker run [image name]
옵션 | 설명 |
---|---|
—name [container name] | container 이름을 지정 |
-p [host port number]:[container port number] | 포트 번호를 지정 |
-e [environment variable]=[value] | 환경변수를 설정 |
-v [host path]:[container path] -v [volume name]:[container path] |
볼륨을 마운트함 |
-d | 백그라운드로 실행 |
-i | container에 터미널을 연결함 |
-t | 특수 키를 사용 가능하도록 함 |
—net=[network name] | 컨테이너를 네트워크에 연결함 |
docker container run \
--name [container name] \
-e [environment variable]=[value] \
-p [host port number]:[container port number] \
-v [host path or volume name]:[container path] \
—net=[network name] \
-dit \
[image name]
rm
container 삭제
docker container rm [container name]
docker rm [container name]
옵션 | 설명 |
---|---|
-f | container가 실행 중이더라도 강제로 종료하고 제거 |
-v | 연결된 volume도 함께 삭제 |
docker container rm -fv [container name]
exec
실행 중인 컨테이너 속에서 프로그램(ex. /bin/bash)을 실행
docker container exec [container name] [command or program]
docker exec [container name] [command or program]
옵션 | 설명 |
---|---|
-i | container에 터미널을 연결함 |
-t | 특수 키를 사용 가능하도록 함 |
docker container exec -it [container name] [command or program]
ls
container 목록 출력
docker container ls
docker ps
옵션 | 설명 |
---|---|
-a | 실행 중이지 않은 container를 포함하여 모든 상태의 container를 표시 |
docker container ls -a
cp
파일이나 디렉토리 복사
docker container cp [source] [target]
docker cp [source] [target]
host에서 container로 복사
docker container cp [host path] [container name]:[container path]
container에서 host로 복사
docker container cp [container name]:[container path] [host path]
commit
container 이미지 변환
docker container commit [container name] [image name]
docker commit [container name] [image name]
Image
pull
image 다운로드
docker image pull [image name]
docker pull [image name]
rm
image 삭제
docker image rm [image name]
docker rmi [image name]
ls
image 목록 출력
docker image ls
build
Dockerfile 스크립트로 이미지 생성
docker image build [image name] [host path to dockerfile]
docker build [image name] [host path to dockerfile]
옵션 | 설명 |
---|---|
-t | 이미지에 태그를 지정하는 옵션 |
docker image build -t [image name:tag name] [host path to dockerfile]
tag
tag 부여
docker image tag [image name] [registry address]/[repository name]:[version]
docker tag [image name] [registry address]/[repository name]:[version]
push
image 업로드
docker image push [registry address]/[repository name]:[version]
docker push [registry address]/[repository name]:[version]
Volume
create
volume 생성
docker volume create [volume name]
inspect
volume 상세 정보 확인
docker volume inspect [volume name]
ls
volume 목록 출력
docker volume ls
prune
아무 container와도 연결되지 않은 volume 모두 삭제
docker volume prune
rm
volume 삭제
docker volume rm [volume name]
Network
connect
network에 container 연결
docker network connect [network name] [container name]
disconnect
container를 network에서 연결 해
docker network disconnect [network name] [container name]
create
network 생성
docker network create [network name]
inspect
network 상세 정보 확인
docker network inspect [network name]
ls
network 목록 출력
docker network ls
prune
아무 container도 접속하지 않은 network 모두 삭제
docker network prune
rm
network 삭제
docker network rm [network name]
그 밖의 커맨드
- 상위 커맨드 종류
상위 커맨드 | 내용 |
---|---|
checkpoint | 현태 상태를 일시적으로 저장한 후, 나중에 해당 시점의 상태로 되돌릴 수 있는 기능 |
node | 도커 스웜의 노드를 관리하는 기능 |
plugin | 플러그인을 관리하는 기능 |
secret | 도커 스웜의 비밀값 정보를 관리하는 기능 |
service | 도커 스웜의 서비스를 관리하는 기능 |
stack | 도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택을 관리하는 기능 |
swarm | 도커 스웜을 관리하는 기능 |
system | 도커 엔진의 정보를 확인하는 기능 |
login | 도커 레지스트리에 로그인 |
logout | 도커 레지스트리에 로그아웃 |
search | 도커 레지스트리를 검색 |
version | 도커 엔진 및 명령행 도구의 버전을 출력 |
- volume 백업
docker run --rm -v [volume name]:/source -v [backup path]:/target busybox tar czvf /target/[backup file name].tar.gz -C /source .
- volume 복원
docker run --rm -v [volume name]:/source -v [backup path]:/target busybox tar xzvf /target/[backup file name].tar.gz -C /source
- image 저장
docker save -o [backup path]/[backup file name].tar [image name]
- image 가져오기
docker load -i [backup path]/[backup file name].tar
출처: 오가사와라 시게타카, 「그림과 실습으로 배우는 도커 & 쿠버네티스」, 위키북스
'CI CD > Docker' 카테고리의 다른 글
도커 컴포즈 (Docker Compose) (0) | 2025.05.21 |
---|---|
레지스트리 (Registry) (0) | 2025.05.21 |
이미지 만들기 (0) | 2025.05.21 |
스토리지 마운트 (Storage Mount) (0) | 2025.05.21 |
자주 사용하는 이미지 (0) | 2025.05.21 |