이미지(Image) 관련 명령어

  1. 이미지 목록 확인

    docker images

    → 로컬에 저장된 이미지 리스트 출력.

  2. 이미지 다운로드 (Pull)

    docker pull ubuntu:latest

    → Docker Hub 같은 레지스트리에서 이미지 가져오기.

  3. 이미지 삭제

    docker rmi <IMAGE_ID or NAME:TAG>

    → 특정 이미지 삭제. (컨테이너가 실행 중이면 삭제 불가)

  4. 이미지 정리 (안 쓰는 이미지 삭제)

    docker image prune -a

    → dangling 이미지뿐만 아니라 사용되지 않는 모든 이미지 삭제.

  5. 이미지 상세 확인

    docker image inspect httpd:latest

    → 이미지 메타데이터 JSON 형태로 확인.
    주요 정보:

    • Config : 이미지 빌드 시 지정된 설정
    • CMD : 컨테이너 실행 시 기본 명령어 (예: /bin/bash)
    • EntryPoint : 실행 진입점 (예: ["/docker-entrypoint.sh"])
    • Env : 이미지에 설정된 환경 변수들
    • ExposedPorts : Dockerfile에서 EXPOSE 지정된 포트
  6. 이미지 저장 (백업)

    docker image save httpd:latest ubuntu:latest mysql:5.7 -o my-img.tar

    → 여러 이미지를 하나의 tar 파일로 저장.

  7. 이미지 로드 (복원)

    docker image load -i my-img.tar

    → 저장된 tar 파일에서 이미지 복원.


컨테이너(Container) 관련 명령어

  1. 실행 중인 컨테이너 목록

    docker ps

    → 현재 실행 중인 컨테이너만 출력. 전체(중지 포함) 목록 보려면:

    docker ps -a
  2. 컨테이너 실행

    docker run -d --name my-httpd -p 8080:80 httpd:latest
    • -d : 백그라운드 실행 (detached)
    • --name : 컨테이너 이름 지정
    • -p : 포트 매핑 (호스트:컨테이너)
  3. 컨테이너 삭제

    docker rm <CONTAINER_ID or NAME>

    → 중지된 컨테이너 삭제. 실행 중인 컨테이너까지 강제로 삭제하려면:

    docker rm -f <CONTAINER_ID>
  4. 컨테이너 쉘 접속

  • 새 컨테이너 실행하면서 쉘 접속:
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>

워크플로우 예시

  1. 이미지 다운로드

    docker pull ubuntu:latest
  2. 컨테이너 실행

    docker run -d --name my-ubuntu ubuntu:latest
  3. 컨테이너/이미지 확인

    docker ps -a
    docker images
  4. 이미지 백업 & 복원

    docker image save ubuntu:latest -o ubuntu.tar
    docker image load -i ubuntu.tar
  5. 필요 없는 이미지 정리

    docker image prune -a