도커 커맨드 ( Docker Command )

2021. 5. 27. 09:38Container/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