Docker
이미지 관리
수색…
통사론
- 도커 이미지 [옵션] [저장소 [: TAG]]
- docker inspect [옵션] 컨테이너 | 이미지 [컨테이너 | 이미지 ...]
- 부두 끌기 [옵션] 이름 [: TAG | @DIGEST]
- docker rmi [옵션] 이미지 [이미지 ...]
- 도커 태그 [옵션] 이미지 [: 태그] [REGISTRYHOST /] [사용자 이름 /] NAME [: TAG]
Docker Hub에서 이미지 가져 오기
일반적으로 이미지는 Docker Hub 에서 자동으로 가져옵니다. Docker는 Docker 호스트에 이미 존재하지 않는 Docker Hub에서 이미지를 가져 오려고 시도합니다. 예를 들어, 사용하여 docker run ubuntu
때 ubuntu
이미지는 최신의 풀 시작하는 도커의 원인이됩니다 이미 도커 호스트하지 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
이미지.