수색…


통사론

  • 도커 이미지 [옵션] [저장소 [: TAG]]
  • docker inspect [옵션] 컨테이너 | 이미지 [컨테이너 | 이미지 ...]
  • 부두 끌기 [옵션] 이름 [: TAG | @DIGEST]
  • docker rmi [옵션] 이미지 [이미지 ...]
  • 도커 태그 [옵션] 이미지 [: 태그] [REGISTRYHOST /] [사용자 이름 /] NAME [: TAG]

Docker Hub에서 이미지 가져 오기

일반적으로 이미지는 Docker Hub 에서 자동으로 가져옵니다. Docker는 Docker 호스트에 이미 존재하지 않는 Docker Hub에서 이미지를 가져 오려고 시도합니다. 예를 들어, 사용하여 docker run ubuntuubuntu 이미지는 최신의 풀 시작하는 도커의 원인이됩니다 이미 도커 호스트하지 ubuntu 이미지를. docker pull 을 사용하여 Docker Hub에서 수동으로 이미지를 가져 오거나 업데이트하여 이미지를 개별적으로 가져올 수 있습니다.

docker pull ubuntu
docker pull ubuntu:14.04

다른 이미지 레지스트리에서 가져 오거나 특정 버전의 이미지를 가져 오는 추가 옵션이 있습니다. 대체 레지스트리를 나타내려면 전체 이미지 이름과 선택적 버전을 사용하십시오. 예를 들어 다음 명령은 ubuntu:14.04 이미지를 registry.example.com 레지스트리에서 가져 오려고 시도합니다.

docker pull registry.example.com/username/ubuntu:14.04

로컬에서 다운로드 한 이미지 나열

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              693bce725149        6 days ago          967 B
postgres            9.5                 0f3af79d8673        10 weeks ago        265.7 MB
postgres            latest              0f3af79d8673        10 weeks ago        265.7 MB

이미지 참조

이미지의 이름을 사용하는 Docker 명령은 다음 네 가지 형식을 허용합니다.

유형
짧은 신분증 693bce725149
이름 hello-world (기본값 :latest 태그)
이름 + 태그 hello-world:latest
요람 hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

참고 : 원래 해당 다이제스트를 사용하여 이미지를 가져온 경우에만 해당 이미지를 해당 다이제스트로 참조 할 수 있습니다. 이미지의 다이제스트를 보려면 (사용 가능한 경우) docker images --digests 실행 docker images --digests .

이미지 제거

docker rmi 명령은 이미지를 제거하는 데 사용됩니다.

docker rmi <image name>

전체 이미지 이름은 이미지를 제거하는 데 사용해야합니다. 레지스트리 이름을 제거하기 위해 이미지에 태그가 지정되어 있지 않으면, 지정해야합니다. 예 :

docker rmi registry.example.com/username/myAppImage:1.3.5

대신 ID로 이미지를 제거 할 수도 있습니다.

docker rmi 693bce725149

편의상, 지정된 부분 문자열이 명확한 한, 이미지 ID의 처음 몇 문자 만 지정하여 이미지 ID로 이미지를 제거 할 수 있습니다.

docker rmi 693

참고 : 이미지를 사용하는 기존 컨테이너가 있더라도 이미지를 제거 할 수 있습니다. docker rmi는 이미지를 단순히 "태그 해제"합니다.

이미지를 사용하는 컨테이너가 없으면 가비지 수집됩니다. 컨테이너가 이미지를 사용하면 이미지를 사용하는 모든 컨테이너를 제거한 후에 이미지가 가비지 수집됩니다. 예 :

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                     PORTS               NAMES
5483657ee07b        hello-world         "/hello"            Less than a second ago   Exited (0) 2 seconds ago                       small_elion

$ docker rmi hello-world
Untagged: hello-world:latest

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
5483657ee07b        693bce725149        "/hello"            Less than a second ago   Exited (0) 12 seconds ago                       small_elion

시작 컨테이너가없는 모든 이미지 제거

시작 컨테이너가없는 모든 로컬 이미지를 제거하려면 이미지 목록을 매개 변수로 제공 할 수 있습니다.

docker rmi $(docker images -qa)

모든 이미지 삭제

시작된 컨테이너가 있는지 여부에 관계없이 이미지를 제거하려면 강제 플래그 ( -f )를 사용하십시오.

docker rmi -f $(docker images -qa)

매달린 이미지 제거

이미지에 태그가 지정되지 않고 컨테이너에서 사용하지 않는 이미지는 'dangling'이며 다음과 같이 제거 될 수 있습니다.

docker images -q --no-trunc -f dangling=true | xargs -r docker rmi

Docker 허브에서 이미지 검색

검색 명령을 사용하여 Docker Hub 에서 이미지를 검색 할 수 있습니다.

docker search <term>

예 :

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3565      [OK]
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   717                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   232                  [OK]
...

이미지 검사하기

docker inspect <image>

출력은 JSON 형식입니다. jq 명령 행 유틸리티를 사용하여 원하는 키만 구문 분석하고 인쇄 할 수 있습니다.

docker inspect <image> | jq -r '.[0].Author'

위의 명령은 이미지의 작성자 이름을 보여줍니다.

이미지에 태그 달기

이미지에 태그를 지정하면 다른 이미지 버전을 추적하는 데 유용합니다.

docker tag ubuntu:latest registry.example.com/username/ubuntu:latest

태그 지정의 또 다른 예는 다음과 같습니다.

docker tag myApp:1.4.2 myApp:latest
docker tag myApp:1.4.2 registry.example.com/company/myApp:1.4.2

Docker 이미지 저장 및로드

docker save -o ubuntu.latest.tar ubuntu:latest

이 명령은 ubuntu:latest 이미지를 현재 디렉토리에 ubuntu.latest.tar 라는 이름의 타르볼 아카이브로 저장합니다. 이 tarball 아카이브는 예를 들어 rsync 를 사용하여 다른 호스트로 이동하거나 저장소에 보관할 수 있습니다.

tarball이 이동되면 다음 명령이 파일에서 이미지를 만듭니다.

docker load -i /tmp/ubuntu.latest.tar

이제 ubuntu:latest 에서 컨테이너를 만들 수 있습니다 ubuntu:latest 평상시처럼 ubuntu:latest 이미지.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow