Отслеживание репозитория и отправка всех существующих образов
На этом этапе вы узнаете, как пометить существующий образ и отправить его в Docker-реестр. Отправка образов позволяет вам делиться собственными настраиваемыми образами или модифицированными версиями существующих образов с другими пользователями или хранить их в удаленном месте.
Перед тем как отправить образ, вам нужно пометить его адресом реестра, вашим именем пользователя и именем репозитория. Мы будем использовать образ ubuntu:20.04
, который вы загрузили на предыдущем этапе. Давайте пометим его для отправки в Docker Hub. Замените your_docker_username
на свое реальное имя пользователя в Docker Hub.
docker tag ubuntu:20.04 your_docker_username/ubuntu:20.04
Эта команда создает новый тег для образа ubuntu:20.04
. Новый тег - your_docker_username/ubuntu:20.04
. Формат: [registry]/[username]/[repository]:[tag]
. Если вы отправляете образ в Docker Hub, можно опустить часть с адресом реестра (docker.io/
).
Теперь выведите список локальных образов еще раз, чтобы увидеть новый тег.
docker images
Вы должны увидеть запись с your_docker_username/ubuntu
в качестве репозитория и 20.04
в качестве тега, имеющую тот же идентификатор образа, что и исходный образ ubuntu:20.04
.
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest ... ... ...
ubuntu 20.04 ... ... ...
ubuntu 18.04 ... ... ...
your_docker_username/ubuntu 20.04 ... ... ...
Теперь, когда образ помечен правильно, вы можете отправить его в свой репозиторий на Docker Hub. Примечание: Вам нужно войти в учетную запись Docker Hub, чтобы отправлять образы. Если вы не вошли в систему, команда docker push
завершится с ошибкой. В рамках этого лабораторного занятия мы продемонстрируем команду, но вам не обязательно успешно отправлять образ, если у вас нет учетной записи в Docker Hub или вы не вошли в систему.
docker push your_docker_username/ubuntu:20.04
Если вы вошли в систему, вы увидите вывод, показывающий, как слои образа отправляются в реестр. Если вы не вошли в систему, вы получите ошибку аутентификации.
The push refers to repository [docker.io/your_docker_username/ubuntu]
...
Эта команда загружает образ с указанным тегом в ваш репозиторий на Docker Hub.
Хотя вы не можете "отслеживать" репозиторий и автоматически отправить все существующие образы одной командой, вы можете достичь этого, написав скрипт с командами docker tag
и docker push
для образов, которые вы хотите отправить.