마이의 개발 블로그

[Docker] 자주 사용하는 도커 명령어 모음 본문

개발지식/인프라

[Docker] 자주 사용하는 도커 명령어 모음

개발자마이 2024. 6. 13. 13:30
반응형

배경

현재 개발 중인 솔루션은 단일 프로젝트가 아닌 각기 다른 언어와 프레임워크로 구성되어있습니다. 그러다보니 각 프로젝트별로 하나씩 도커 이미지가 생성되어 솔루션을 설치할 때는 복수의 도커 이미지들을 도커 컴포즈(docker compose)로 관리하게 됩니다. 솔루션을 설치하고 운영하는 과정에서 주로 사용하는 도커와 도커 컴포즈 명령어들을 나열해보겠습니다.

도커 명령어 모음

명령어 기능 비고
docker login 도커 허브 계정에 로그인  
docker pull <이미지명:태그> 원격 저장소 이미지 다운로드 프라이빗 저장소일 때 로그인 필요
docker --version 버전 확인  
docker images 현재 PC에 존재하는 이미지 목록 보기  
docker image tag [기존 이미지명] [새 이미지명] 이미지명 변경  
docker save -o <파일명.tar> <이미지명:태그> 이미지 1개 저장  
docker save -o <파일명.tar> <이미지명1:태그> <이미지명2:태그> ... <이미지명10:태그> 복수의 이미지를 1개 파일로 저장  
docker load -i <파일명.tar> 파일에서 이미지 불러오기 별도의 .tar 압축해제 필요없음
docker inspect [이미지] | grep -i created 이미지 생성 날짜 확인  
docker run <이미지명:태그> 이미지 실행 컨테이너 생성 동작 포함
docker run -it -p 8000(호스트포트):8000(컨테이너포트) <이미지명:태그> 이미지 실행 시 포트 부여  
docker run -v [로컬 경로]:[컨테이너 경로] 이미지 실행 시 볼륨 생성  
docker run [이미지명] sleep infinity 컨테이너 실행 후 실행상태 유지 종료되는 현상 방지
docker rename [컨테이너명] [변경할이름] 컨테이너 이름 변경  
docker exec -it <컨테이너 ID 또는 이름> bash 실행 중인 컨테이너에서 bash실행 리눅스
docker exec -it <컨테이너 ID 또는 이름> mongosh -u <MongoDB 유저명> -p  컨테이너에서 몽고쉘 실행, 로그인  
docker logs <컨테이너 ID 또는 이름> 컨테이너 로그 확인  
docker logs -f -tail 100 <컨테이너 ID 또는 이름> 컨테이너 로그 실시간 확인(100줄)  
docker system prune 전체 컨테이너 삭제 사용 빈도 적음
docker ps 실행 중인 컨테이너 목록만 나열  
docker ps -a 컨테이너 전체 목록 나열   
docker restart <컨테이너 ID 또는 이름> 컨테이너 재시작  
docker stop <컨테이너 ID 또는 이름> 실행 중인 컨테이너 중지  
docker start <컨테이너 ID 또는 이름> 중지된 컨테이너 시작 docker run과는 다름
docker build -t <이미지명:태그> . 동일 경로에 있는 dockerfile을 기준으로 도커 이미지 생성하기  경로를 나타내는 .(마침표) 빼먹으면 안 됨
docker push <이미지명:태그> 이미지를 로그인된 허브에 업로드  
docker rm <컨테이너 ID 또는 이름> 컨테이너 삭제  
docker rmi <이미지 ID 또는 이미지명:태그> 이미지 삭제  
docker rmi <이미지 ID1>  <이미지 ID2>... <이미지 ID10> 복수의 이미지 삭제  
docker-compose up 도커 컴포즈 켜기  
docker-compose up -d 도커 컴포즈를 detached mode(백그라운드 모드)로 켜기 detached mode가 아니면 컴포즈에 나열된 전체 이미지가 실행 후 종료되게되면 전부 다 종료됨
docker-compose down 도커 컴포즈 끄기  

 

반응형
Comments