기초 커맨드를 알아야 도커를 돌리지

Robin·2024년 1월 22일
post-thumbnail

도커 이미지

docker run 이미지이름

docker run 이미지이름 ls

  • 이미지에 따라서 쓸 수 있는 커맨드가 다르다.
    ex. hello-world로는 ls 명령어 실행불능: 문장만 표출하기에 실행할 수 있는 파일 안보임

컨테이너 나열

docker ps

  • ps: process status
  • 현재 실행중인 컨테이너를 리스트로 나열해줌
  • 컨테이너ID 확인 가능해서 자주 사용

원하는 항목만 보기

docker ps —format 'table{{.Names}}\ttable{{.Images}}'

  • ps 실행 시 원하는 항목(컬럼)값만 보이게 하는 명령어
  • {{ }} 내에 원하는 컬럼 값 삽입

모든 컨테이너

docker ps -a

  • -a : all

도커 컨테이너 생명주기

docker create <이미지 이름>

  • 이미지 속 파일 스냅샷을 하드디스크에 삽입

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

  • 명령어가 컨테이너로 삽입 후 실행 됨
  • 아이디만 표출하고 끝남(화면에 따로 보이는건 없음)

docker start -a <컨테이너 아이디>

  • -a : attach
    • 실행 된 아웃풋을 화면에 표출해줌
  • 컨테이너 아이디는 create 시 주어지는 아이디의 일부분

Docker Stop vs Docker Kill

둘 다 실행중인 컨테이너를 중지시킴

Stop

  • 자비롭게(Grace Period) 중지: ex. 보내고 있던 메시지가 있다면 다 보내고 중지

Kill

  • 바로 컨테이너 중지

컨테이너 삭제하기

  • 중지 후 삭제 가능

모든 컨테이너 삭제

docker rm docker ps -a -p``

이미지 삭제

docker rmi <이미지ID>

한번에 컨테이너, 이미지, 네트워크 모두 삭제

docker system prune

  • 실행중인 컨테이너는 영향을 주지 않음

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

docker exec <컨테이너 아이디> <커맨드>

  • ex. docker exec alpine ls (결과 자체는 docker run alpine ls와 같다)
  • run은 새롭게 시작하는 컨테이너에, exec은 이미 실행중인 컨테이너에 명령어 전달
profile
Always testing, sometimes dog walking

0개의 댓글