Поиск…


Синтаксис

  • docker images [OPTIONS] [REPOSITORY [: TAG]]
  • докер проверяет [ОПЦИИ] КОНТЕЙНЕР | ИЗОБРАЖЕНИЕ [КОНТЕЙНЕР | ИЗОБРАЖЕНИЕ ...]
  • docker pull [ОПЦИИ] ИМЯ [: TAG | @DIGEST]
  • docker rmi [ОПЦИИ] ИЗОБРАЖЕНИЕ [ИЗОБРАЖЕНИЕ ...]
  • тег докера [OPTIONS] ИЗОБРАЖЕНИЕ [: TAG] [REGISTRYHOST /] [USERNAME /] NAME [: TAG]

Получение изображения из Docker Hub

Обычно изображения автоматически извлекаются из Docker Hub . Docker попытается вытащить любое изображение из Docker Hub, который еще не существует на хосте Docker. Например, использование docker run ubuntu когда изображение ubuntu еще не находится на хосте Docker, заставит Docker инициировать вытягивание последнего изображения ubuntu . Можно потянуть изображение отдельно, используя приведение docker pull чтобы вручную извлечь или обновить изображение с Docker Hub.

docker pull ubuntu
docker pull ubuntu:14.04

Возможны дополнительные варианты вытягивания из другого реестра изображений или вытаскивания определенной версии изображения. Указание альтернативного реестра выполняется с использованием полного имени изображения и дополнительной версии. Например, следующая команда попытается вытащить изображение ubuntu:14.04 из registry.example.com 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

Ссылка на изображения

Команды докеров, которые принимают имя изображения, принимают четыре разных формы:

Тип пример
Короткий идентификатор 693bce725149
название hello-world (по умолчанию :latest тег)
Имя + тег hello-world:latest
дайджест hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Примечание. Вы можете ссылаться только на изображение по его дайджесту, если это изображение было первоначально вытащено с помощью этого дайджеста. Чтобы увидеть дайджест для изображения (если он доступен), запустите docker images --digests .

Удаление изображений

Команда docker rmi используется для удаления изображений:

docker rmi <image name>

Для удаления изображения необходимо использовать полное имя изображения. Если изображение не было помечено для удаления имени реестра, его необходимо указать. Например:

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

Также можно удалить изображения по их идентификатору:

docker rmi 693bce725149

В качестве удобства можно удалить изображения по их идентификатору изображения, указав только первые несколько символов идентификатора изображения, если указанная подстрока недвусмысленная:

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)

Удаление оборванных изображений

Если изображение не помечено и не используется каким-либо контейнером, оно «оборвано» и может быть удалено следующим образом:

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

Поиск в Docker Hub для изображений

Вы можете найти 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 командной строки 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 save -o ubuntu.latest.tar ubuntu:latest

Эта команда сохранит ubuntu:latest изображение в архиве tarball в текущем каталоге с именем ubuntu.latest.tar . Затем этот архив tarball можно перенести на другой хост, например, с помощью rsync или архивировать в хранилище.

После перемещения tarball следующая команда создаст изображение из файла:

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

Теперь можно создать контейнеры из ubuntu:latest изображение, как обычно.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow