728x90

컨테이너 이미지 빌드

  • docker build -t 리포지터리:태그 . 현 디렉터리에 있는 Dockerfile을 바탕으로 이미지를 빌드
  • docker image build -t 리포지터리:태그 .
  • docker images 로컬 이미지 목록
  • docker image ls
  • docker rmi 이미지
  • docker image rm 이미지
  • docker rmi -f ‘docker images -aq’ 로컬 이미지 삭제
  • docker image prune -a 로컬 이미지 일괄 삭제

 

이미지의 이동과 공유

  • docker pull 원격_리포지터리[:태그]
  • docker image pull 원격_리포지터리[:태그]
  • ocker tag 이미지[:태그] 원격_리포지터리[:태그]
  • docker image tag 이미지[:태그] 원격_리포지터리[:태그]

커맨드 실행 예

  • docker login 레지스트리_서버_URL | 레지스트리 서비스에 로그인
  • docker push 원격_리포지터리[:태그] | 로컬 이미지를 레지스트리 서비스에 등록
  • docker image push 원격_리포지터리[:태그] | 이미지를 아카이브 형식 파일로 기록
  • docker save -o 파일명 이미지 | 아카이브 형식 파일을 리포지터리에 등록
  • docker image save -o 파일명 이미지 | docker export <컨테이너명 | 컨테이너ID> -o 파일명 컨테이너명 또는 컨테이너ID로 컨테이너를 지정해서
  • docker load -i 파일명 | docker container export <컨테이너명 | 컨테이너ID> -o 파일명 tar 형식 파일로 기록
  • docker image load -i 파일명 | docker container export <컨테이너명 | 컨테이너ID> -o 파일명 tar 형식 파일로 기록
  • docker import 파일명 리포지터리[:태그] | 파일로 저장된 이미지를 리포지터리에 입력
  • docker image import 파일명 리포지터리[:태그] | 파일로 저장된 이미지를 리포지터리에 입력

컨테이너 실행

커맨드 실행 예

  • docker run --rm -it 이미지 커맨드 
    docker container run --rm -it 이미지 커맨드
    • 대화형으로 컨테이너를 기동해서 커맨드를 실행. 종료
      시에는 컨테이너를 삭제. 커맨드에 sh와 bash를 지정
      하면 대화형 셸로 리눅스 명령어 실행 가능
  • docker run -d -p 5000:80 이미지
  • docker container run -d -p 5000:80
    • 백그라운드로 컨테이너를 실행. 컨테이너 내 프로세스 의 표준 출력과 표준
      에러 출력은 로그에 보존. 보존된 이미지 로그의 출력은 ‘docker logs’를 참조.
       ‘-p’는 포트 포워딩으로 ‘호스트_포트:컨테이너 _포트’로 지정
  • docker run -d --name 컨테이너명 -p 5000:80 이미지
  • docker container run -d --name 컨테이너명 -p 5000:80 이미지
    • 컨테이너에 이름을 지정하여 실행
  • docker run -v ‘pwd’/html:/usr/share/nginx/html -d -p 5000:80 nginx
  • docker container run -v ‘pwd’/html:/usr/share/nginx/html -d -p 5000:80 nginx
    • 컨테이너의 파일 시스템에 디렉터리를 마운트하면서 실행. ‘-v’는 ‘로컬_절대_경로:컨테이너_내_경로’
  • docker exec -it <컨테이너명 | 컨테이너ID> sh
  • docker container exec -it <컨테이너명 | 컨테이너ID> s
    • 실행 중인 컨테이너에 대해서 대화형 셸을 실행
  • docker ps
  • docker container ls
    • 실행 중인 컨테이너 목록 출력
  • docker ps -a
  • docker container ls -a
    • 정지된 컨테이너도 포함하여 출력
  • docker stop <컨테이너명 | 컨테이너ID> 
  • docker container stop <컨테이너명 | 컨테이너ID>
    • 컨테이너의 주 프로세스에 시그널 SIGTERM을 전송하여 종료 요청. 타임 아웃 시 강제 종료 진행
  • docker rm < 컨테이너명 | 컨테이너ID>
  • docker container rm <컨테이너명 | 컨테이너ID>
    • 종료한 컨테이너를 삭제
  • docker rm ‘docker ps -a -q
  • docker container prume -a
    • 종료한 컨테이너를 일괄 삭제
  • docker commit <컨테이너명 | 컨테이너ID> 리포지터리: [태그]
    docker container commit <컨테이너명 | 컨테이너ID> 리포지터리:[태그]
    • 컨테이너를 이미지로서 리포지터리에 저장
728x90