도커 커맨드 ( Docker Command )
2021. 5. 27. 09:38ㆍContainer/Docker
728x90
반응형
1. 컨테이너 환경표시
| docker version | 도커 클라이언트와 서버 버전표시 |
| docker info | 구체적인 환경 표시 |
2. 컨테이너의 3대 기능
- 컨테이너 이미지 빌드
| docker build -t 리포지터리:태그 docker image build -t 리포지터리 :태그 |
현 디렉터리에 있는 Dockerfile을 바탕으로 이미지를 빌드 |
| docker image docker image ls |
로컬 이미지 목록 |
| docker rmi 이미지 docker image rm 이미지 |
로컬 이미지 삭제 |
| docker rmi -f 'docker images -qa' docker image prune -a |
로컬 이미지 일괄 삭제 |
- 이미지 이동과 공유
| docker pull 원격_리포지터리:[태그] docker image pull 원격_리포지터리:[태그] |
원격 리포지터리의 이미지를 다운로드 |
| docker tag 이미지[:태그] 원격 리포지터리[:태그] docker image tag 이미지[:태그] 원격 리포지터리[:태그] |
로컬 이미지에 태그 부여 |
| docker login 레지스트리_서버_URL | 레지스트리 서비스에 로그인 |
| docker push 원격_레포지터리[:태그] | 로컬 이미지를 레지스트리 서비스에 등록 |
| docker save -o 파일명 이미지 docker image save -o 파일명 이미지 |
이미지를 아카이브 형식 파일로 기록 |
| docker load -i 파일명 docker image load -i 파일명 |
아카이브 형식 파일을 리포지터리에 등록 |
| docker export <컨테이너명 | 컨테이너 ID > -o 파일명 docker container export <컨테이너명 | 컨테이너 ID > -o 파일명 |
컨테이너명 또는 컨테이너ID로 컨테이너를 지정해서 tar파일 형식으로 기록 |
| docker import 파일명 리포지터리[:태그] docker image import 파일명 리포지터리[:태그] |
파일로 저장된 이미지를 리포지터티에 입력 |
- 컨테이너 실행
| docker (container) run --rm -it 이미지 빌드 | 대화형 컨테이너를 기동해서 커맨드 실행, 종료시에는 컨테이너를 삭제, 커맨드에 sh와 bash를 지정하면 대화형 셸로 리눅스 명령어 실행 가능 |
| docker (container) run -d -p 5000:80 이미지 | 백그라운드 컨테이너로 실행, 컨테이너 내 프로세스의 표준 출력과 표준 에러 출력은 로그에 보존 보존된 로그의 출력은 docker log를 통해 확인가능, -p는 포트포워딩이며 '호스트포트:컨테이너포트'로 지정 |
| docker (container) run --name 컨테이너명 -p 5000:80 이미지 | 컨테이너에 이름을 지정하여 실행 |
| docker (container) exec -it <컨테이너명 | 컨테이너ID> | |
| docker (container) -v 'pwd'/html:/usr/share/nginx/html -d -p 5000:80 nginx | 컨테이너의 파일 시스템에 디렉터리를 마운트하면서 실행. '-v'는 '로컬_절대_경로:컨테이너_내_경로' |
| docker ps docker container ls |
실행 중인 컨테이너 목록 출력 |
| docker ps -a docker container ls -a |
정지된 컨테이너도 포함하여 출력 |
| docker stop <컨테이너명 | 컨테이너ID > docker container stop <컨테이너명 | 컨테이너ID > |
컨테이너의 주 프로세스에 시그널 SIGTERM을 전송하여 종료요청, 타임 아웃 시 강제 종료 진행 |
| docker kill <컨테이너명 | 컨테이너 ID > docker container kill <컨테이너명 | 컨테이너 ID > |
컨테이너 강제 종료 |
| docker rm <컨테이너명 | 컨테이너 ID > docker container rm <컨테이너명 | 컨테이너 ID > |
종료된 컨테이너를 삭제 |
| docker rm 'docker ps -a -q' docker container rm prume -a |
종료한 컨테이너를 일괄 삭제 |
| docker commit <컨테이너명 | 컨테이너 ID > 리포지터리:[태그] docker container commit <컨테이너명 | 컨테이너ID >리포지터리:[태그] |
컨테이너를 이미지로서 리포지터리에 저장 |
- 디버그 관련 기능
| docker (container) logs <컨테이너명 | 컨테이너 ID > | 컨테이너 로그 출력 |
| docker (container) logs -f <컨테이너명 | 컨테이너 ID > | 컨테이너 로그를 실시간으로 표시 |
| docker ps -a docker container ls -a |
컨테이너 목록 표시 |
| docker (container) exec -it <컨테이너명 | 컨테이너 ID > 커맨드 | 실행중인 컨테이너에 대해서 대화형으로 커맨드 실행 |
| docker (container) inspect <컨테이너명 | 컨테이너 ID > | 상세한 컨테이너의 정보를 표시 |
| docker (container) stats | 컨테이너 실행 상태를 실시간으로 표시 |
| docker (container) attach --sig-proxy=false <컨테이너명 | 컨테이너 ID > | 컨테이너 표준출력을 화면에 표시 |
| docker (container) pause <컨테이너명 | 컨테이너 ID > | 컨테이너 일시정지 |
| docker (container) unpause <컨테이너명 | 컨테이너 ID > | 컨테이너 일시정지 해제 |
| docker (container) start -a <컨테이너명 | 컨테이너 ID > | 정지한 컨테이너를 실행, 이때 표준출력과 표준에러 출력을 터미널에 출력 |
- 쿠버네티스와 중복되는 기능
| docker network create 네트워크명 | 컨테이너 네트워크를 작성 |
| docker network ls | 컨테이너 네트워크 목록 출력 |
| docker network rm 네트워크명 | 컨테이너 네트워크를 삭제 |
| docker network prune | 미사용 컨테이너 네트워크 삭제 |
- 퍼시스턴트 볼륨 관련
| docker volume create 볼륨명 | 퍼시스턴트 볼륨 작성 |
| docker volume ls | 퍼시스턴트 볼륨 목록 출력 |
| docker volume rm 볼륨명 | 퍼시스턴트 볼륨 삭제 |
| docker volume prune | 미사용 퍼시스턴트 볼륨 삭제 |
- docker compose 관련
| docker-compose up -d | 현 디렉터리의 docker-compose.yml을 사용해서 복수의 컨테이너를 기동 |
| docker-compose ps | docker-compose 관리하에 실행 중인 컨테이너 목록을 출력 |
| docker-compose down | docker-compose 관리하에 컨테이너를 정지 |
| docker-compose down --rmi all | docker-compose 관리하의 컨테이너를 정지하고, 이미지도 삭제 |
참고 : 15단계로 배우는 도커와 쿠버네티스에서 참고하였습니다.
728x90
반응형
'Container > Docker' 카테고리의 다른 글
| Docker Buildx는 언제 쓰는걸까??? (0) | 2025.02.18 |
|---|