[Docker] 명령어

codesheep09·2023년 4월 17일
0

docker run [옵션] <이미지이름> [시작명령어]

  • '이미지이름' 이미지를 이용하여 컨테이너 생성 및 실행
  • 시작명령어 생략시, 이미지가 가지고 있는 시작명령어를 실행
  • 시작명령어 입력시, 입력한 시작명령어를 실행
  • 옵션
    • -d : 컨테이너 백그라운드 실행
    • -p : 호스트 포트와 컨테이너 포트를 매핑
      • ex) docker run -p 8405:8080 <이미지 아이디>
        -> localhost:8405 접속시, 컨테이너의 8080번 포트로 접속
    • -v : 호스트 디렉토리를 컨테이너 특정 경로에 마운트
      • ex) docker run -p 8405:8080 -v /var/app/node_modules <이미지 아이디>
        -> /var/app/node_modules 는 호스트를 참조하지 말아라
      • ex) docker run -p 8405:8080 -v $(pwd):/usr/src/app <이미지 아이디>
        -> 호스트의 현재 디렉토리를 컨테이너 /usr/src/app 경로로 마운트한다
    • --name : 컨테이너 아이디 대신 이름을 부여하여 컨테이너를 식별한다
      • ex) docker run -d --name my-alpine alpine
      • ex) docker start my-alpine
    • --restart : Docker 실행시 컨테이너 자동 재시작 설정
      • ex) docker run -d --restart always alpine
    • -e : 컨테이너 환경변수 설정 (Dockerfile의 ENV 설정을 덮어씌운다)
    • -w : 작업 디렉토리 설정 (Dockerfile의 WORKDIR 설정을 덮어씌운다)
    • -rm : 컨테이너를 일회성으로 실행.
      • 컨테이너가 종료될때 컨테이너와 관련된 리소스(파일시스템,볼륨)까지 제거해준다

작동순서
1. 도커 클라이언트를 통한 도커 서버에 명령어 전달
2. 도커 서버에서 컨테이너 생성을 위한 이미지가 있는지 확인(캐시)
3. 있으면 해당 이미지르 통해 컨테이너 생성, 없으면 도커허브에서 다운로드 후 컨테이너 생성


컨테이너 생성순서
1. 이미지의 파일스냅샷(bin,dev,etc, ...)을 컨테이너 디스크 영역에 복사
2. 이미지의 시작명령어를 통해 프로세스 실행



docker create <이미지이름>

  • 컨테이너 디스크 영역에 이미지의 파일스냅샷 복사



docker start <컨테이너 이름/아이디>

  • 컨테이너 시작명령어를 실행



docker stop <컨테이너 이름/아이디>

  • 컨테이너 중지



docker stop <컨테이너 이름/아이디>
docker kill <컨테이너 이름/아이디>

  • 컨테이너 실행중지
    • docker stop : 실행중인 작업들을 완료하고 중지시킨다.
    • docker kill : 바로 중지시킨다.



docker ps [옵션]

  • 현재 실행중인 도커 컨테이너 리스트
  • 옵션
    • -a : 모든 컨테이너 나열



docker rm <컨테이너 이름/아이디>

  • 컨테이너 삭제
  • 실행중인 컨테이너는 중지해야만 삭제 가능



docker rmi <이미지 아이디>

  • 이미지 삭제



docker system prune

  • 실행중이지 않은 컨테이너, 이미지, 네트워크 삭제
  • 실행 중인 컨테이너에는 영향을 주지 않음



docker exec [옵션] <컨테이너 아이디> <명령어>

  • 실행 중인 컨테이너에 명령어 전달

  • 옵션

    • -it : 명령어를 실행한 후에도, 계속 명령어를 입력할 수 있다.
      • -i : interactive
      • -t : terminal

    docker exec -it <컨테이너 아이디> sh
    ★실행중인 컨테이너의 쉘 환경에 접속한다.

profile
IT 관련 내용들을 정리하는 공간입니다.

0개의 댓글