Не так давно вы узнали как с помощью командной строки запускать Docker на локальном хосте. Вы научились загружать образы что бы создать контейнер из существующих образов и вы узнали как создавать собственные образы.
Далее вы узнаете как использовать Docker Hub для упрощения и улучшения ваших рабочих процессов Docker.
Docker Hub публичный реестр поддерживаемый Docker, Inc. Он содержит образы которые вы можете скачать и использовать для создания контейнеров. А также обеспечивает проверку подлинности, структуру рабочей группы, инструменты рабочего процесса, такие как webhooks, триггеры и инструменты приватности, как частных хранилищ для хранения образов, которые вы не хотите делать публичными.
Docker сам обеспечивает доступ к сервисам Docker Hub через команды docker search
, pull
, login
и push
. В этой главе мы покажем как эти команды работают.
Перед тем как вы попробуете консольные команды, если у вас еще нет, создайте Docker ID. Вы можете сделать это на Docker Hub. Если у вас есть Docker ID, войдите в ваш аккаунт с помощью консольных команд Docker Engine:
$ docker login
Команда login
сохраняет ваш Docker ID и авторизационные данные в $HOME/.docker/config.json
. Если вы используете cmd
в Windows, данные сохраняются в %HOME%\.docker\config.json
; для пользователей PowerShell в $env:Home\.docker\config.json
.
После того как вы залогинились из командной строки, вы можете выполнить команду commit
или push
для взаимодействия с вашими репозиториями на Docker Hub.
Вы можете искать образы в реестре Docker Hub с помощью поиска на сайте или с помощью интерфейса командной строки. Поиск может искать образы по названию, имени пользователя или описанию:
$ docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS 1223 [OK]
tianon/centos CentOS 5 and 6, created using rinse instea... 33
...
Вы можете увидеть два примерама результатов для: centos
и tianon/centos
. Второй результат взят из общего репозитория пользователя tianon/
, в то время как первый результат, centos
, взят из доверенного репозитория верхнего уровня (подробнее читайте официальные репозитории). Символ/
разделяет имя пользователя от названия репозитория.
После того как вы нашли необходимый образ, вы можете скачать его командой docker pull <imagename>
:
$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
f1b10cd84249: Pull complete
c852f6d61e65: Pull complete
7322fbe74aa5: Pull complete
Digest: sha256:90305c9112250c7e3746425477f1c4ef112b03b4abe78c612e092037bfecc3b7
Status: Downloaded newer image for centos:latest
Теперь у вас есть образ из которого вы можете запускать контейнеры.
Команда docker pull centos
эквивалентна команде docker pull centos:latest
. Для загрузки образа который не является по умолчанию самой последней версией, вы должны точно указать требуемую версию.
К примеру, для загрузки 5 версии centos
используйте docker pull centos:centos5
.
В этом примере, centos5
тег указывающий версию репозитория centos
.
Для поиска списка тегов доступных версий репозитория перейдите в реестр Docker Hub.
Любой может загружать образы из реестра Docker Hub, но если вы хотите сделать доступным свой собственный образ, вам необходимо зарегистрироваться.
Для того что бы выгрузить репозиторий в реестр, вам необходимо назвать образ или конвертировать ваш контейнер в именованный образ как мы это делали здесь здесь.
Теперь вы можете выгрузить (push) репозиторий в реестр соответствующий его имени и тегу.
$ docker push yourname/newimage
Образ будет загружен и доступен для использования вашим товарищам по команде и/или сообществу.
Давайте подробнее рассмотрим некоторые из особенностей Docker Hub. Вы можете найти более подробную информацию здесь.
Бывает так, что вы не хотите делать общедоступными ваши образы. Docker Hub позволяет вам создавать приватные репозитории. Тарифные планы вы можете посмотреть на официальном сайте Docker Hub.
Одним из полезных аспектов частных хранилищ является то, что вы можете поделиться ими только с членами вашей организации или команды. Docker Hub позволяет создавать организации, где вы можете сотрудничать со своими коллегами и управлять частным хранилищам. Вы можете узнать, как создавать и управлять организацией здесь.
Автоматическая сборка и обновление образов из GitHub или Bitbucket, непосредственно на Docker Hub. Эта функция работает посредством добавления commit hook вашего GitHub или Bitbucket репозитория, вызывая сборку и обновление когда вы делаете выгрузку коммита (push).
Dockerfile
по которому будет осуществляться сборка.master
).Dockerfile
, по умолчанию /
.Когда автоматическая сборка настроена, через несколько минут она будет произведена и вы сможете увидеть ее на Docker Hub. Синхронизация с GitHub и Bitbucket будет оставаться активной, пока вы ее не отключите.
Что бы проверить состояние репозитория с автоматической сборкой, кликните по названию репозитория «Your Repositories». Автоматическая сборка помечена специальной иконкой после названия репозитория. В странице сведений о репозитории, вы можете нажать на вкладке «Build Details» для просмотра состояния и всех сборках, произведенных в Docker Hub.
После того как вы создали автоматическую сборку ее можно отключить или удалить. Однако вы не можете выгружать в автоматическую сборку изменения с помощью команды docker push
.
Вы можете только управлять ей делая коммит кода в репозитории GitHub или Bitbucket.
Вы можете создать несколько автоматических сборок для репозитория и сконфигурировать для них собственные Dockerfile
или Git ветки.
Автоматическая сборка также может быть вызвана через URL на Docker Hub. Это позволяет произвести автоматическую сборку по требованию.
Webhooks прикреплены к вашим хранилищам и позволяют инициировать события, когда образ обновляется в репозитории. С webhook вы можете указать целевой URL и полезную нагрузку JSON, который будет доставлен, когда изображение выгружается.
Читайте документацию Docker Hub для подробной информации о webhooks
Вы прошли обучение и готовы к использованию Docker!
Комментарии:
Пожалуйста, авторизуйтесь что бы оставлять комментарии.