Создать несколько изображений докеры тэгов
docker pull ubuntu
получит несколько изображений тегов.
Можно ли создать несколько тегов с помощью одного файла Dockerfile, например, ubuntu?
ubuntu 13.10 9f676bd305a4 2 weeks ago 182.1 MB
ubuntu saucy 9f676bd305a4 2 weeks ago 182.1 MB
ubuntu raring eb601b8965b8 2 weeks ago 170.2 MB
ubuntu 13.04 eb601b8965b8 2 weeks ago 170.2 MB
ubuntu 12.10 5ac751e8d623 2 weeks ago 161.4 MB
ubuntu quantal 5ac751e8d623 2 weeks ago 161.4 MB
ubuntu 10.04 9cc9ea5ea540 2 weeks ago 183 MB
ubuntu lucid 9cc9ea5ea540 2 weeks ago 183 MB
ubuntu 12.04 9cd978db300e 2 weeks ago 204.7 MB
ubuntu latest 9cd978db300e 2 weeks ago 204.7 MB
ubuntu precise 9cd978db300e 2 weeks ago 204.7 MB
Здесь мне нужны теги для различного контента. (Не тот же контент с несколькими тегами псевдонимов)
Ответы
Ответ 1
Вы не можете создавать теги с помощью Dockerfiles, но вы можете создавать несколько тегов на своих изображениях через командную строку.
Используйте это для отображения идентификаторов изображений:
$ docker images
Затем отмените отметку:
$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...
Ответ 2
Начиная с версии 1.10, теперь вы можете добавлять сразу несколько тегов при сборке:
docker build -t name1:tag1 -t name1:tag2 -t name2 .
Источник: Добавить возможность добавления нескольких тегов с помощью сборки docker
Ответ 3
При создании изображения вы также можете пометить его таким образом.
docker build -t ubuntu:14.04 .
Затем вы снова создадите его с помощью другого тега:
docker build -t ubuntu:latest .
И поскольку вы ничего не меняете, должно получиться одно и то же изображение, что означает, что Docker может использовать кеш, и он эффективно выполняет то же самое, что и повторное воспроизведение одного и того же изображения. Если вы выполните docker images
, вы увидите, что они имеют одинаковый идентификатор.
Вероятно, случай, когда это происходит неправильно, хотя...
Но, как сказал @david-braun, вы не можете создавать теги с самими Dockerfiles, только с помощью команды docker.