이미지(Image) 관련 명령어
-
이미지 목록 확인
docker images
→ 로컬에 저장된 이미지 리스트 출력.
-
이미지 다운로드 (Pull)
docker pull ubuntu:latest
→ Docker Hub 같은 레지스트리에서 이미지 가져오기.
-
이미지 삭제
docker rmi <IMAGE_ID or NAME:TAG>
→ 특정 이미지 삭제. (컨테이너가 실행 중이면 삭제 불가)
-
이미지 정리 (안 쓰는 이미지 삭제)
docker image prune -a
→ dangling 이미지뿐만 아니라 사용되지 않는 모든 이미지 삭제.
-
이미지 상세 확인
docker image inspect httpd:latest
→ 이미지 메타데이터 JSON 형태로 확인.
주요 정보:- Config : 이미지 빌드 시 지정된 설정
- CMD : 컨테이너 실행 시 기본 명령어 (예:
/bin/bash
) - EntryPoint : 실행 진입점 (예:
["/docker-entrypoint.sh"]
) - Env : 이미지에 설정된 환경 변수들
- ExposedPorts : Dockerfile에서
EXPOSE
지정된 포트
-
이미지 저장 (백업)
docker image save httpd:latest ubuntu:latest mysql:5.7 -o my-img.tar
→ 여러 이미지를 하나의 tar 파일로 저장.
-
이미지 로드 (복원)
docker image load -i my-img.tar
→ 저장된 tar 파일에서 이미지 복원.
컨테이너(Container) 관련 명령어
-
실행 중인 컨테이너 목록
docker ps
→ 현재 실행 중인 컨테이너만 출력. 전체(중지 포함) 목록 보려면:
docker ps -a
-
컨테이너 실행
docker run -d --name my-httpd -p 8080:80 httpd:latest
-d
: 백그라운드 실행 (detached)--name
: 컨테이너 이름 지정-p
: 포트 매핑 (호스트:컨테이너)
-
컨테이너 삭제
docker rm <CONTAINER_ID or NAME>
→ 중지된 컨테이너 삭제. 실행 중인 컨테이너까지 강제로 삭제하려면:
docker rm -f <CONTAINER_ID>
-
컨테이너 쉘 접속
- 새 컨테이너 실행하면서 쉘 접속:
docker run -it ubuntu:latest /bin/bash
- `-i` : interactive (표준 입력 유지)
- `-t` : pseudo-TTY 할당
5. 컨테이너 중지 & 시작
docker stop <CONTAINER_ID or NAME>
docker start <CONTAINER_ID or NAME>
워크플로우 예시
-
이미지 다운로드
docker pull ubuntu:latest
-
컨테이너 실행
docker run -d --name my-ubuntu ubuntu:latest
-
컨테이너/이미지 확인
docker ps -a docker images
-
이미지 백업 & 복원
docker image save ubuntu:latest -o ubuntu.tar docker image load -i ubuntu.tar
-
필요 없는 이미지 정리
docker image prune -a