docker 자주쓰는 명령어

2023. 8. 14. 04:19도커

자주 쓰이는 컨테이너 옵션

 

-d	detached mode 흔히 말하는 백그라운드, 데몬 모드
-p	호스트PC와 컨테이너의 포트를 연결 (포워딩)
-e	컨테이너 내에서 사용할 환경변수 설정
–name	컨테이너 이름 설정
–rm	프로세스 종료시 컨테이너 자동 제거
-i	상호 입출력
–t	tty를 활성화하여 bash 쉘을 사용

도커 상태 확인

 

sudo systemctl status docker

컨테이너 생성하기

 

sudo docker run -it <컨테이너이름:버전>

run 은 컨테이너 생성 명령(없으면 다운), -it 은 컨테이너에 접속


이미지 목록 보기

 

sudo docker images

이미지 다운 받기 

 

run 이랑 다르게 이미지만 다운받고 컨테이너로 띄우지는 않는다.

 

sudo docker pull centos:8

컨테이너 생성하기 (다운받은 이미지)

 

--name 을 통해 컨테이너 이름 지정 가능, 이를 사용하지 않을 시 자동으로 랜덤값을 이름으로 만든다.

 

sudo docker create -it name mycentos centos:8

컨테이너 목록 보기

 

sudo docker ps

-a 옵션을 사용하면 사용하지 않는 컨테이너 목록을 볼 수 있다.

 

sudo docker ps -a

컨테이너 상태 확인

 

docker stats [OPTIONS] [CONTAINER...]

컨테이너 로그보기

 

sudo docker logs <컨테이너 ID>

-f 옵션을 사용하면 실시간으로 로그를 볼 수 있다.

 

sudo docker logs -f <컨테이너 ID>

컨테이너 삭제

 

sudo docker rm <컨테이너 이름 or ID>

-f 옵션이나 --force 옵션을 사용하면 강제로 삭제할 수 있다.

 

sudo docker rm --force <컨테이너 이름 or ID>

이미지 삭제

 

sudo docker rmi <이미지 ID>

-f 옵션이나 --force 옵션을 사용하면 강제로 삭제할 수 있다.

 

sudo docker rmi --force <이미지 ID>

이미지 만들기 (Dockerfile)

 

이미지가 만들어지기 위해서는 Dockerfile 이 존재해야 한다.

 

sudo docker build -t <도커아이디>/<이미지 이름>:<버전>

예시 : 

sudo docker build -t myid/my-app:latest

이미지로 컨테이너 띄우기

 

sudo docker run -p <로컬포트>:<도커포트> <도커아이디>/<이미지 이름>:<버전>

 

예시 :

sudo docker run -p 3001:8080 myid/my-app:latest

만든 이미지로 컨테이너 여러 개 띄우기

 

sudo docker run -p <로컬포트>:<도커포트> -d <도커아이디>/<이미지 이름>:<버전>

 

예시 :

sudo docker run -p 3001:8080 -d myid/my-app:latest

도커 허브에서 pull 하기

 

sudo docker pull myid/my-app:latest

 

 

도커 컨테이너 파일 디렉토리 목록보기

 

sudo docker -it <컨테이너 ID> ls -al

도커 컨테이너의 특정 파일 보기

 

sudo docker exec -it <컨테이너 ID> cat <파일이름>

실행중인 도커 컨테이너에서 .env 바로 수정하기

 

sudo docker exec -it <컨테이너 ID> sed i 's#DB_HOST="바꾸기 전의 값"#DB_HOST="바꾸려는 값"#' .env

 


도커 컨테이너의 IP 확인

 

sudo docker inspect <컨테이너 ID> | grep IPAddress