티스토리 뷰

🐳 Docker

docker pull

James Wetzel 2025. 1. 15. 13:51
728x90
반응형

docker pull 명령어는 Docker 이미지를 Docker Hub(또는 다른 레지스트리)에서 로컬 환경으로 다운로드하는 데 사용됩니다. 이 명령어는 Docker 이미지를 컨테이너로 실행하기 전에 필요한 이미지 파일을 미리 가져오는 과정입니다.


docker pull 명령어의 기본 구조

docker pull [OPTIONS] IMAGE[:TAG|@DIGEST]
  • IMAGE: 다운로드할 이미지의 이름(예: nginx, ubuntu, mysql).
  • TAG(선택 사항): 특정 버전을 지정합니다(예: nginx:latest, nginx:1.21).
    • 생략하면 기본값인 latest 태그를 다운로드합니다.
  • DIGEST(선택 사항): 이미지의 고유 식별자를 사용해 다운로드합니다.

docker pull 예제와 설명

1. 최신 버전 다운로드

docker pull nginx
  • nginx:latest 이미지를 다운로드합니다.
  • latest는 기본 태그로, 최신 버전을 의미합니다.

2. 특정 버전 다운로드

docker pull nginx:1.21
  • Nginx의 1.21 버전을 다운로드합니다.
  • 버전을 지정하면 원하는 안정된 버전을 사용할 수 있습니다.

3. 특정 레지스트리에서 이미지 다운로드

docker pull myregistry.example.com/myimage:1.0
  • myregistry.example.com이라는 사용자 정의 레지스트리에서 myimage의 1.0 버전을 다운로드합니다.
  • Docker Hub 외의 레지스트리를 사용할 때는 반드시 레지스트리 URL을 명시해야 합니다.

4. 이미지 Digest로 다운로드

docker pull nginx@sha256:abc123...
  • sha256 Digest 값을 통해 특정 이미지를 다운로드합니다.
  • Digest는 이미지의 고유 식별자로, 완전히 동일한 이미지를 가져올 때 사용됩니다.

docker pull 동작 과정

  1. 이미지 레지스트리와 연결:
    Docker는 기본적으로 Docker Hub에 연결해 이미지를 검색합니다.
  2. 이미지 존재 확인:
    지정한 이미지와 태그 또는 Digest가 레지스트리에 있는지 확인합니다.
  3. 이미지 레이어 다운로드:
    이미지는 여러 레이어로 구성되며, 변경된 레이어만 다운로드합니다.
  4. 이미지 저장:
    다운로드된 이미지는 로컬 Docker 이미지 저장소에 저장됩니다.

유용한 옵션

1. --all-tags

모든 태그를 다운로드합니다.

docker pull --all-tags nginx
  • nginx의 모든 버전 이미지를 가져옵니다.

2. --platform

특정 플랫폼(예: linux/amd64, linux/arm64)의 이미지를 다운로드합니다.

docker pull --platform=linux/amd64 nginx
  • AMD64 아키텍처용 이미지를 가져옵니다.

자주 묻는 질문

Q1: 이미 다운로드한 이미지를 다시 docker pull 하면 어떻게 되나요?

  • Docker는 로컬에 동일한 이미지가 있는지 확인합니다.
  • 로컬에 동일한 이미지가 있으면 다시 다운로드하지 않습니다.

Q2: latest 태그는 항상 최신 버전인가요?

  • latest는 최신 버전을 의미하지만, 최신 버전으로 설정되지 않을 수도 있습니다.
  • 항상 명시적인 태그(nginx:1.21)를 사용하는 것이 좋습니다.

Q3: 다운로드한 이미지는 어디에 저장되나요?

  • Docker는 로컬 시스템에 이미지를 저장합니다.
    이미지를 확인하려면 다음 명령어를 사용하세요:
docker images

 

728x90
반응형