Docker: Tag Image — Присвоение и Изменение Тегов

Хорошей практикой в Docker является присвоение образам полезных тегов, например, номер версии, предполагаемое место назначения (prod или staging), является ли сборка стабильной или любая другая информация, полезная при развертывании приложения в различных средах.

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

Также я покажу, как присвоить тег уже существующему Docker-образу и как изменить (перетеговать) или удалить тег.

Дельный Совет: Как войти в Docker-контейнер и запустить bash! Читать Далее →

Tag Docker Image

Если у вас уже есть Docker-образ, вы можете присвоить ему тег следующим образом:

$ docker tag <imageId> <repoName>/<imageName>:<tagName>

— пример —

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
<none>           <none>           83eea1180916        27 seconds ago      6.96MB

$ docker tag 83eea1180916 local/app:0.1

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              83eea1180916        39 seconds ago      6.96MB

Маркировка Docker-образа несколькими тегами:

$ docker tag 83eea1180916 local/app:staging
$ docker tag 83eea1180916 local/app:stable

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              83eea1180916        39 seconds ago      6.96MB
local/app        staging          83eea1180916        39 seconds ago      6.96MB
local/app        stable           83eea1180916        39 seconds ago      6.96MB

Сборка Docker-образа с Тегами

Присвоить тег Docker-образу во время сборки:

$ docker build -t <repoName>/<imageName>:<tagName> .

— пример —

$ docker build -t local/app:latest .

Сборка Docker-образа с присвоением нескольких тегов:

$ docker build -t local/app:latest -t local/app:0.1 .

Удаление Тегов Docker-образа

Команда docker rmi служит для удаление Docker-образов, но если образ имеет более чем один тег, она удалит не образ, а тег:

$ docker rmi <repoName>/<imageName>:<tagName>

— пример —

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              884484c99f71        39 minutes ago      6.96MB
local/app        latest           884484c99f71        39 minutes ago      6.96MB

$ docker rmi local/app:latest
Untagged: local/app:latest

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              884484c99f71        39 minutes ago      6.96MB

Изменение Тегов Docker-образа

Изменить тег Docker-образа:

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              83eea1180916        15 minutes ago      6.96MB
local/app        staging          83eea1180916        15 minutes ago      6.96MB

$ docker tag 83eea1180916 local/app:latest
$ docker rmi local/app:staging
Untagged: local/app:staging

$ docker images
REPOSITORY       TAG              IMAGE ID            CREATED             SIZE
local/app        0.1              83eea1180916        15 minutes ago      6.96MB
local/app        latest           83eea1180916        15 minutes ago      6.96MB

Такой же принцип может использоваться для переименования Docker-образа или изменения репозитория.

Дельный Совет: Узнайте как освободить место на Docker-хосте удалив ненужные Docker-образы! Читать далее →