Docker 명령어 정리 Image, Hub, Container, logs, exec, Volume

Docker 명령어 정리

Docker Image 관련

이미지 생성(빌드)

$ docker build --platform=linux/amd64 -t ourjune/hangman:태그버전

 

이미지 리스트 조회

$ docker images

 

이미지 삭제

$ docker rmi

 

Docker Hub 관련

도커 로그인 (로컬에 등록해두면 다시 인증하지 않아도됨)

$ docker login -u 사용자ID -p 사용자PW

 

도커 pull 도커허브 → 로컬 가져오기

$ docker pull ourjune/hangman

 

도커 push 로컬 → 도커허브 보내기

$ docker push ourjune/hangman

 

Docker Container 관련

도커 생성

$ docker create

 

도커 container 생성 및 실행 run --name 컨테이너ID대신 컨테이너명(별칭)사용, -p 포트맵핑, -v 볼륨매핑

$ docker run --name -p -v 이미지이름

 

도커 상태 확인

$ docker ps

$ docker ps -a

$ docker ps -q

 

도커 상태 변화관련 명령어

$ docker stop 컨테이너이름 혹은 ID

$ docker start 컨테이너이름 혹은 ID

$ docker restart 컨테이너이름 혹은 ID

$ docker kill 컨테이너이름 혹은 ID

$ docker pause 컨테이너이름 혹은 ID

$ docker unpause 컨테이너이름 혹은 ID

$ docker rm 컨테이너이름 혹은 ID

 

docker kill vs. docker rm
docker kill은 강제 중지, docker rm은 삭제

Docker Container logs

로그 확인

$ docker logs -f 컨테이너이름 혹은 ID

$ docker logs --tail 100 컨테이너이름 혹은 ID

 

Docker exec

컨테이너 최초 실행

$ docker run --name=hangman ourjune/hangman

 

실행된 컨테이너에 명령

$ docker exec hangman cat /etc/hosts 

$ docker exec -it hangman sh

 

Docker Container detach & attach

$ docker run ourjune/hangman

 

docker detach 백그라운드 모드

$ docker run -d ourjune/hangman

 

docker attach 포그라운드 모드

$ docker attach 컨테이너ID

 

Docker Volume

$ docker volume ls

$ docker volume rm

 

사용되지 않은 모든 볼륨 삭제

$ docker volume prune

 

볼륨 자세히 보기

$ docker volume instpect