도커
docker 자주쓰는 명령어
muyeon
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