0. Diagram
1. Summary
2. Command
0. Diagram
1. Summary
docker attach | 실행 중인 컨테이너에 로컬 표준 입력, 출력 및 오류 스트림 연결 |
docker build | 도커 파일에서 이미지 빌드 |
docker builder | 빌드 관리 |
docker checkpoint | 체크포인트 관리 |
docker commit | 컨테이너의 변경 사항에서 새 이미지 생성 |
docker config | 도커 구성 관리 |
docker container | 컨테이너 관리 |
docker context | 컨텍스트 관리 |
docker cp | 컨테이너와 로컬 파일 시스템 간에 파일/폴더 복사 |
docker create | 새 컨테이너 생성 |
docker diff | 컨테이너 파일 시스템의 파일 또는 디렉터리 변경 내용 검사 |
docker events | 서버에서 실시간 이벤트 가져오기 |
docker exec | 실행 중인 컨테이너에서 명령 실행 |
docker export | 컨테이너의 파일 시스템을 tar 아카이브로 내보내기 |
docker history | 이미지 기록 표시 |
docker image | 이미지 관리 |
docker images | 이미지 나열 |
docker import | tarball에서 콘텐츠를 가져와 파일 시스템 이미지 생성 |
docker info | 시스템 전체 정보 표시 |
docker inspect | 도커 개체에 대한 하위 수준의 정보 반환 |
docker kill | 하나 이상의 실행중인 컨테이너 kill |
docker load | tar 아카이브 또는 STDIN에서 이미지 로드 |
docker login | 도커 레지스트리에 로그인 |
docker logout | 도커 레지스트리에서 로그아웃 |
docker logs | 컨테이너의 로그 가져오기 |
docker manifest | 도커 이미지 매니페스트 및 매니페스트 목록 관리 |
docker network | 네트워크 관리 |
docker node | 스왑 노드 관리 |
docker pause | 하나 이상의 컨테이너 내의 모든 프로세스 일시 중지 |
docker plugin | 플러그인 관리 |
docker port | 컨테이너에 대한 포트 매핑 또는 특정 매핑 나열 |
docker ps | 컨테이너 나열 |
docker pull | 레지스트리에서 이미지 또는 리포지토리 꺼내기 |
docker push | 이미지 또는 리포지토리를 레지스트리에 푸시 |
docker rename | 컨테이너 이름 변경 |
docker restart | 하나 이상의 컨테이너 재시작 |
docker rm | 하나 이상의 컨테이너 제거 |
docker rmi | 하나 이상의 이미지 제거 |
docker run | 새 컨테이너에서 명령 실행 |
docker save | 하나 이상의 이미지를 tar 아카이브에 저장(기본적으로 STDOUT으로 스트리밍됨) |
docker search | 도커 허브에서 이미지 검색 |
docker secret | 도커 비밀 관리 |
docker service | 서비스 관리 |
docker stack | 도커 스택 관리 |
docker start | 중지된 하나 이상의 컨테이너 시작 |
docker stats | 컨테이너 리소스 사용 통계의 라이브 스트림 표시 |
docker stop | 하나 이상의 실행 중인 컨테이너 중지 |
docker swarm | Swarm 관리 |
docker system | 도커 관리 |
docker tag | SOURCE_IMAGE를 참조하는 TARGET_IMAGE 태그를 생성 |
docker top | 컨테이너의 실행 프로세스 표시 |
docker trust | Docker 이미지에 대한 신뢰 관리 |
docker unpause | 하나 이상의 컨테이너 내의 모든 프로세스 일시 중지 해제 |
docker update | 하나 이상의 컨테이너 구성 업데이트 |
docker version | 도커 버전 정보 표시 |
docker volume | 볼륨 관리 |
docker wait | 하나 이상의 컨테이너가 멈출 때까지 차단한 다음 종료 코드를 인쇄 |
2. Practice
- Basic
- Check Docker version
docker version
- Pull Docker image
docker pull [imagename]:[tag]
# ubuntu:20.04
docker pull ubuntu:20.04
- 보유한 image 확인
docker images
- image 삭제
docker rmi [option] imagename1 [imagename2, ....]
- Container list
docker ps [option]
# 정지된 container 까지 확인하려는 경우
docker ps -a
- Comtainer size
docker ps --size | grep [container name]
- Container Shell 진입
# 특정 컨테이너의 쉘을 얻으며 동작시킨다.
docker exec -it [container name or ID] /bin/bash
# root로 실행
docker exec -u 0 -it [container name or ID] /bin/bash
# 실행된 특정 컨테이너에 추가적인 명령어([command])를 동작시킨다.
docker exec [container name or ID] [command]
- Host <-> Container 파일 복사
# Host -> Container
docker cp [host_filepath] [container_name]:[container_filepath]
# Container -> Host
docker cp [continer_name]:[container_filepath] [host_filepath]
- Container 중지 & 삭제
# 중지
docker stop [container name or ID]
# 삭제 (Container가 중지된 상태에서)
docker rm [container name or ID]
# 강제 삭제
docker rm -f [container name or ID]
- 사용중인 container를 image로 만들기
docker commit [container_name] [image_name]
- Advanced
docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS | default | description |
--add-host | 사용자 지정 호스트-IP 매핑 추가(host:ip) | |
--attach , -a | STDIN, STDOUT 또는 STDERR에 연결 | |
--detach , -d | 백그라운드에서 컨테이너 실행 및 컨테이너 ID 출력 | |
--detach-keys | 컨테이너 분리를 위한 키 시퀀스 재정의 | |
--disable-content-trust | TRUE | 이미지 확인 건너뛰기 |
--env , -e | 환경 변수 설정 | |
--env-file | 환경 변수 파일에서 읽기 | |
--expose | 포트 또는 포트 범위 노출 | |
--group-add | 가입할 그룹 추가 | |
--hostname , -h | 컨테이너 호스트 이름 | |
--mount | 파일 시스템 마운트를 컨테이너에 연결 | |
--name | 컨테이너에 이름 할당 | |
--net | 컨테이너를 네트워크에 연결 | |
--net-alias | 컨테이너에 대한 네트워크 범위 별칭 추가 | |
--network | 컨테이너를 네트워크에 연결 | |
--network-alias | 컨테이너에 대한 네트워크 범위 별칭 추가 | |
--pull | missing | 실행하기 전에 이미지 가져오기 |
--read-only | 컨테이너의 루트 파일 시스템을 읽기 전용으로 마운트 | |
--restart | no | 컨테이너 종료 시 적용할 재시작 정책 |
--rm | 컨테이너가 종료되면 자동으로 제거 | |
--volume , -v | 볼륨 마운트 바인딩 | |
--volume-driver | 컨테이너용 옵션 볼륨 드라이버 | |
--volumes-from | 지정된 컨테이너에서 볼륨 마운트 | |
--workdir , -w | 컨테이너 내부의 작업 디렉토리 |
docker run example
# -d : 백그라운드 모드로 실행
docker run -d ubuntu:18.04 ls
# -p : 호스트와 컨테이너의 포트를 연결(포워딩)
docker run -p 8080:3500 node:12.16.1
# -v : 호스트의 디렉토리와 컨테이너의 디렉토리를 연결
docker run -v [호스트]:[컨테이너] [image_name]
docker run -v /home/docker/data:/app/data ubuntu:18.04
# -e : 컨테이너 내에서 사용할 환경변수 설정 (여러개 사용 시, -e옵션 여러번 사용)
docker run -e [환경변수 이름]=[환경변수 값]
docker run -e DATA=/app/data ubuntu:18.04
# --name : 컨테이너 이름 설정
docker run --name mydocker -it ubuntu:18.04
# --rm : 컨테이너의 프로세스 종료 시, 컨테이너를 자동으로 제거한다.
docker run --rm ubuntu:18.04
# -it : 입출력을 가능하게 하고, tty를 활성화하여 bash 쉘을 사용
docker run -it ubuntu:18.04
docker image
docker image COMMAND
COMMAND | 설명 |
docker image build | Dockerfile에서 이미지 빌드 |
docker image history | 이미지의 history 표시 |
docker image ls | 이미지 나열 |
docker image prune | 사용하지 않는 이미지 제거 |
docker image pull | 레지스트리에서 이미지 또는 저장소 가져오기 |
docker image push | 이미지 또는 저장소를 레지스트리에 푸시 |
docker image rm | 하나 이상의 이미지 제거 |
docker image tag | SOURCE_IMAGE를 참조하는 TARGET_IMAGE 태그 생성 |
docker container
docker container COMMAND
COMMAND | 설명 |
docker container attach | 실행 중인 컨테이너에 로컬 표준 입력, 출력 및 오류 스트림 연결 |
docker container commit | 컨테이너의 변경 사항에서 새 이미지 만들기 |
docker container cp | 컨테이너와 로컬 파일 시스템 간에 파일/폴더 복사 |
docker container create | 새 컨테이너 만들기 |
docker container exec | 실행 중인 컨테이너에서 명령 실행 |
docker container inspect | 하나 이상의 컨테이너에 대한 자세한 정보 표시 |
docker container kill | 하나 이상의 실행 중인 컨테이너 종료 |
docker container logs | 컨테이너의 로그 가져오기 |
docker container ls | 컨테이너 나열 |
docker container pause | 하나 이상의 컨테이너 내 모든 프로세스 일시 중지 |
docker container port | 컨테이너에 대한 포트 매핑 또는 특정 매핑 나열 |
docker container prune | 중지된 모든 컨테이너 제거 |
docker container rename | 컨테이너 이름 바꾸기 |
docker container restart | 하나 이상의 컨테이너 다시 시작 |
docker container rm | 하나 이상의 컨테이너 제거 |
docker container run | 새 컨테이너에서 명령 실행 |
docker container start | 하나 이상의 중지된 컨테이너 시작 |
docker container stop | 하나 이상의 실행 중인 컨테이너 중지 |
docker container top | 컨테이너의 실행 중인 프로세스 표시 |
docker container unpause | 하나 이상의 컨테이너 내의 모든 프로세스 일시 중지 해제 |
docker compose
https://engineer-mole.tistory.com/221
docker compose COMMAND
COMMAND | 설명 |
docker-compose up -d | 컨테이너 생성 및 시작 |
docker-compose scale web=10 | 생성 컨테이너 수 |
docker-compose ps | 컨테이너 목록 |
docker-compose logs | 컨테이너 로그 |
docker-compose run web /bin/cal | 시작 + 명령 실행 |
docker-compose exec web bash | 명령 실행 |
docker-compose start | 전체 컨테이너 시작 |
docker-compose restart | 전체 컨테이너 다시 시작 |
docker-compose kill | 전체 컨테이너 강제 정지 |
docker-compose rm | 전체 컨테이너 삭제 |
docker-compose build --no-cache | 전체 컨테이너를 빌드 |
ref :
https://yuehhua.github.io/categories/Docker/
https://dejavuhyo.github.io/posts/docker-basic-commands/
https://www.dongyeon1201.kr/c20f7d07-6f23-4134-ae8e-e730dc7b5af6
https://dev.classmethod.jp/articles/frequently-used-docker-command/#toc-5