[DOCKER]자주 사용하는 명령어

박민하·2022년 7월 19일
0

Deploy

목록 보기
3/15
post-thumbnail

docker docs

✅ 관리/확인

  • docker -v : 도커 버전 확인
  • systemctl status docker : 도커 서비스 상태 확인
  • sudo usermod -aG docker $USER : 도커 그룹에 유저 추가. sudo 없이 명령어 실행 가능
  • id -nG : 도커 그룹에 포함된 id 확인
  • docker system df : 컨테이너 공간 사용량 확인
  • docker history <image> : 이미지 히스토리 조회
  • docker inspect [options] <image or container> : 이미지/컨테이너의 세부정보 확인

✔ ps

  • docker ps : 실행중인 컨테이너 확인
  • docker ps -a : 실행 종료된 것을 포함한 모든 컨테이너 확인

✔ diff

  • docker diff CONTAINER : 컨테이너의 파일 또는 디렉토리의 변경 사항 확인

✔ images

  • docker images : 생성된 혹은 다운로드 된 이미지 확인
  • docker images -a : 모든 이미지 확인
  • docker images ls -q : 이미지의 id만 확인

✔ cp

  • docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- : 컨테이너의 파일 시스템에서 로컬 시스템으로 복사
  • docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH : 로컬 파일 시스템에서 컨테이너로 복사

✅ 생성

✔ run

  • docker run [options] <image> : 컨테이너 생성
    • --name <컨테이너이름> : 컨테이너 이름 지정
    • -i : 컨테이너 입력(STDIN)을 열어둠. 터미널과 컨테이너가 지속적으로 연결
    • -t : 가상터미널(tty)할당
    • -it : 컨테이너 안에 입력할 수 있게 됨(대화식 프로세스의 경우 컨테이너 프로세스에 tty를 할당하려면 it는 함께 사용해야 함)
    • -rm : 컨테이너 종료 시 컨테이너 삭제
    • -d : 컨테이너를 백그라운드에서 실행. 컨테이너에 들어가려면 docker attach <컨테이너이름을 입력
      • docker run -d -p 8000:80 httpd 등 서버를 켜두고 다른 작업을 할 때 사용됨
      • -p : 호스트(8000)와 컨테이너(80) 포트 연결
    • -v : host 폴더를 컨테이너 폴더와 연결
      • docker run -d -p 8000:80 -v <host경로>:<container경로> httpd
    • --link CONTAINER:<컨테이너이름> : 컨테이너 생성 시 CONTAINER를 '컨테이너이름'으로 연결

✅ 종료/정지/실행

✔ stop

  • docker stop <컨테이너이름> : 컨테이너 종료
  • docker stop $(docker ps -a -q) : 모든 컨테이너 종료

✔ kill

  • docker kill <컨테이너이름> : 컨테이너 즉시 종료

✔ pause

  • docker pause <컨테이너이름> : 컨테이너 정지
  • docker unpause <컨테이너이름> : 컨테이너 재시작

✔ start

  • docker start <컨테이너이름> : 컨테이너 실행
  • docker restart <컨테이너이름> : 컨테이너 종료 후 재실행

✅ 삭제: 삭제 전에 종료 필수

✔ rm

  • docker rm <컨테이너이름> : 컨테이너 삭제
  • docker rm $(docker ps -a -q) : 모든 컨테이너 삭제
  • docker rm -f <컨테이너이름> : 실행중인 컨테이너 강제 삭제
  • docker rmi <image> : 이미지 삭제
  • docker rmi -f <image> : 이미지 강제 삭제
  • docker rmi $(docker images -q) : 모든 이미지 삭제

✅ 기타

✔ logs

  • docker logs <컨테이너이름> : 컨테이너 로그 확인
  • docker logs -f <컨테이너이름> : 실시간으로 컨테이너 로그 확인

✔ exec

  • docker exec [OPTIONS] <컨테이너이름> COMMAND [ARG...] : 실행 중인 컨테이너에서 명령 실행
    • 주로 -it 옵션을 같이 사용
  • exit : 연결 끊기

✔ commit

  • docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] : 컨테이너 변경 사항을 포함해 기존/새로운 이미지 생성
    • ex)docker commit -m "add apache" my-container
profile
backend developer 🐌

0개의 댓글