Docker Образы

Содержание
Введение
images: Список образов
pull: Скачать образ
Скачать определённую версию образа
Репозиторий образов hub.docker.com
save: Сохранить образ в архив
load: Загрузить образ из архива
tag: Подставить нужный образ
push: Публикация образов
Удалить образ
Удалить все образы
Похожие статьи

Введение

Образ Docker - это шаблон, доступный только для чтения, используемый для создания контейнеров.

Образы используются для хранения и отправки приложений.

Инструкция по работе с Docker от Beget.com

docker images

Список образов верхнего уровня, их теги, размеры и репозитории можно получить выполнив

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE andreyolegovichru/docker101tutorial latest dd2e76a16950 9 hours ago 26.8MB docker101tutorial latest dd2e76a16950 9 hours ago 26.8MB <none> <none> f5578f194936 9 hours ago 123MB <none> <none> 409d2b2d3c0b 9 hours ago 110MB <none> <none> c26bbf7dc236 9 hours ago 224MB python alpine fbfb63e3c6bb 17 hours ago 80.3MB nginx alpine ecd67fe340f9 4 days ago 21.6MB node 12-alpine 057fa4cc38c2 2 weeks ago 89.3MB hello-world latest bf756fb1ae65 6 months ago 13.3kB

Документация

Pull: скачивание образов

С помощью команды pull можно скачивать образы не запуская их.

Скачать образ с Ubuntu

docker pull ubuntu

Using default tag: latest latest: Pulling from library/ubuntu 692c352adcf2: Pull complete 97058a342707: Pull complete 2821b8e766f4: Pull complete 4e643cc37772: Pull complete Digest: sha256:55cd38b70425947db71112eb5dddfa3aa3e3ce307754a3df2269069d2278ce47 Status: Downloaded newer image for ubuntu:latest docker.io/library/ubuntu:latest

Проверить обновились ли образы

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE andreyolegovichru/docker101tutorial latest dd2e76a16950 19 hours ago 26.8MB docker101tutorial latest dd2e76a16950 19 hours ago 26.8MB <none> <none> f5578f194936 19 hours ago 123MB <none> <none> 409d2b2d3c0b 19 hours ago 110MB <none> <none> c26bbf7dc236 19 hours ago 224MB python alpine fbfb63e3c6bb 27 hours ago 80.3MB nginx alpine ecd67fe340f9 4 days ago 21.6MB ubuntu latest adafef2e596e 8 days ago 73.9MB node 12-alpine 057fa4cc38c2 2 weeks ago 89.3MB hello-world latest bf756fb1ae65 6 months ago 13.3kB

Если Вам нужен не последний образ а какая-то определённая версия - укажите её после двоеточия.

Например, если нужна Ubuntu 14.04

docker pull ubuntu:14.04

Удалить этот образ можно командой rmi

docker rmi ubuntu:14.04

Можно удалять не по имени, а с помощью IMAGE ID, например, если я хочу удалить образ hello-world IMAGE ID которого bf756fb1ae65

docker rmi bf756fb1ae65

Репозиторий образов hub.docker.com

Изучить список доступных образов можно на сайте hub.docker.com

Нужно нажать на кнопку Explore в верхнем меню hub.docker.com/search

Установка Docker в Windows 10 изображение с сайта www.eth1.ru

Список выглядит следующим оригинальным образом:

Установка Docker в Windows 10 изображение с сайта www.eth1.ru

Образов очень много, советую пользоваться поиском или фильтрами. Docker Certified означает официльный образ.

У официальных образов названия указаны просто: debian , python , php и так далее. Это называется «Top Level Image»

Если источник не подтверждён, например, если я сделаю какой-то образ, например приложение для сайта TopBicycle.ru то имя будет выглядеть так: andreyolegovich/topbicycle-ru

То есть сперва имя автора, затем имя образа. Не все компании верифицируют образы. Например, софт для нагрузочного тестирования Yandex Tank выложен как direvius/yandex-tank

Изображение баннера

save: сохранить образ в архив

Если нужно сохранить образ в .tar файл, например, для передачи на другой хост

docker save aredelcom/aredel_browser_lite:27.0 > aredel_browser.tar

load: выгрузить образ из архива

Если вы получили образ в виде .tar файла, распаковать его можно командой load

docker load < /opt/aredel/containers/aredel_browser.tar

После загрузки образ будет иметь оригинальное название, а не название архива

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE aredelcom/aredel_browser_lite 27.0 736bd91205de 9 hours ago 1.0GB

tag: подставить нужный образ

У ваш софт пользуется определённым образом. Имя этого образа указано в настройках, например в .toml файле. Вам нужно заменить его другим похожим образом, например, следующей версией.

Чтобы не менять постоянно название в настройках можно скачать второй образ и подставлять его вместо первого командой tag

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE aredelcom/aredel_browser_lite 27.0 726bd91205de 9 hours ago 1.0GB aredel_browser latest 845d799ca1f0 3 weeks ago 1.04GB aredelcom/aredel_browser_lite 26.0 845d799ca1f0 3 weeks ago 1.04GB

Программой используется образ aredel_browser. В данный момент это образ версии 26.0 - можно убедиться посмотрев на одинаковые ID.

Подставить 27-ю версию можно выполнив команду tag

docker tag aredelcom/aredel_browser_lite:27.0 aredel_browser

REPOSITORY TAG IMAGE ID CREATED SIZE aredel_browser latest 726bd91205de 9 hours ago 1.00GB aredelcom/aredel_browser_lite 27.0 726bd91205de 9 hours ago 1.0GB aredelcom/aredel_browser_lite 26.0 845d799ca1f0 3 weeks ago 1.04GB

Публикация образов в Docker Hub

Сперва нужно создать аккаунт на докерхабе, сделать там репозиторий. Я назвал репозиторий jenkins-docker-slave так как делаю образ для работника Jenkins

Залогиниться в свой аккаунт можно командой docker login

docker login --username=andreissh

Password:

WARNING! Your password will be stored unencrypted in /home/andrei/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

Нужно написать Dockerfile и собрать образ командой build

Пример такого докерфайла вы можете изучить здесь

docker build -t jenkins-docker-slave:1.0 .

С помощью команды tag подготовим копии образа с названием в формате

репозиторий/образ:версия

docker tag jenkins-docker-slave:1.0 andreissh/jenkins-docker-slave:1.0
docker tag jenkins-docker-slave:1.0 andreissh/jenkins-docker-slave:latest
docker images

REPOSITORY TAG IMAGE ID CREATED SIZE andreissh/jenkins-docker-slave 1.0 0aebbb7255ed 5 minutes ago 915MB andreissh/jenkins-docker-slave latest 0aebbb7255ed 5 minutes ago 915MB jenkins-docker-slave 1.0 0aebbb7255ed 5 minutes ago 915MB

Отправить образ на докерхаб можно командой docker push

docker push andreissh/jenkins-docker-slave:1.0

The push refers to repository [docker.io/andreissh/jenkins-docker-slave] 5e67247e476e: Pushed 5834b8278bb9: Pushed 6b4ad81eb09a: Pushed 1b0c531a1de3: Pushed 77f335c4dfa4: Pushed 3d9a7ec04e48: Pushed 6515074984c6: Mounted from library/ubuntu 1.0: digest: sha256:2986eb4bd51548889f2e6eaa18b649cfeef9d2a783811812f7771af56c1f61fd size: 1783

docker push andreissh/jenkins-docker-slave:latest

The push refers to repository [docker.io/andreissh/jenkins-docker-slave] 5e67247e476e: Layer already exists 5834b8278bb9: Layer already exists 6b4ad81eb09a: Layer already exists 1b0c531a1de3: Layer already exists 77f335c4dfa4: Layer already exists 3d9a7ec04e48: Layer already exists 6515074984c6: Layer already exists latest: digest: sha256:2986eb4bd51548889f2e6eaa18b649cfeef9d2a783811812f7771af56c1f61fd size: 1783

Образы должны появиться в хабе

Jenkins-docker-slave изображение с сайта www.eth1.ru
Образы на hub.docker.com
www.eth1.ru
Изображение баннера

Удалить образ

Чтобы удалить образ нужно выполнить команду

docker rmi image_id

Где image_id это полный или частичный IMAGE ID образа.

docker rmi 07c45e16bf36

Если IMAGE ID, начинающийся на 07c всего один, достаточно написать

docker rmi 07c

Удалить образ можно по имени REPOSITORY

docker rmi jenkins_nginx_mkdocs-mkdocs:latest

Форсированное удаление выполняется с помощью флага --force

docker rmi --force 8d788d646766

Удалить все образы

Массовые удаление и остановка контейнеров и образов разобраны здесь

Пример для Linux

docker rmi $(docker images -q)

Похожие статьи
Docker
Установка в Linux и Windows
Основы
images: Образы
build: Создание контейнеров + примеры
run: Опции запуска контейнера
Сети
Dockerfile
Остановить/удалить все контейнеры
exec: выполнить команду в контейнере
docker compose
Установка docker compose в Linux
Видеоуроки
Ошибки
Make

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: