Настройка репозитория Docker

Настройка репозитория Docker Изучение

Узнайте, как хранить образы Docker в собственном локальном реестре или в репозитории Docker Hub. Это позволяет хранить и упорядочивать образы Docker и обмениваться образами между командами.

«Registry» или «Repository»

Репозиторий — это место , где фактически хранятся данные. Реестр представляет собой набор ссылок на эти данные.

Каталог библиотеки в этом примере — это реестр , к которому можно обратиться, чтобы найти местонахождение нужной книги. Фактические книжные полки библиотеки являются их хранилищем.

Требования

  • Базовые знания использования Docker и команд командной строки.
  • Docker установлен и работает в вашей системе.
  • Интернет-соединение.

Если вы настраиваете собственный репозиторий и делаете его доступным через Интернет, вам также потребуются:

  • Доменное имя и рабочий URL.
  • SSL-сертификат.

Настройка собственного реестра Docker

Docker предлагает встроенный сервер регистрации. Сервер реестра работает в контейнере, который можно запустить с помощью команды запуска docker.

Например, чтобы запустить сервер реестра с именем «my-registry», выполните следующую команду:

sudo docker run -d -p 5000:5000 --name my-registry registry:2

Переместите образ в собственный реестр

Первый шаг к использованию собственного реестра — пометить образ Docker для этого реестра с помощью команды docker tag:

sudo docker tag [image name] localhost:5000/[image name]

Например, чтобы изменить тег образа my-nginx для собственного реестра, выполните следующую команду:

sudo docker tag my-nginx localhost:5000/my-nginx

Затем вы можете переместить этот образ в свой реестр с помощью следующей команды:

sudo docker push localhost:5000/[image name]

Команда для перемещения изображения, которое мы создали в приведенном выше примере:

sudo docker push localhost:5000/my-nginx

Получите образ из собственного реестра

sudo docker pull localhost:5000/[image name]

Например, чтобы загрузить изображение, которое мы создали в приведенном выше примере, выполните следующую команду:

sudo docker pull localhost:5000/my-nginx

Остановите и удалите собственный реестр

Если вы допустили ошибку или просто хотите остановить и удалить созданный вами реестр вместе со всеми хранящимися там образами, используйте следующую команду:

sudo docker stop [repository name] && docker rm -v [repository name]

Например, чтобы остановить и удалить созданный выше реестр под названием My-registry, команда будет выглядеть так:

sudo docker stop my-registry && docker rm -v my-registry

Разрешить внешний доступ к вашему собственному реестру

Прежде чем вы начнете делиться своим личным реестром, вам необходимо защитить доступ с помощью TLS через SSL-сертификат .

Читайте также:  Как улучшить производительность обработки данных в ASP.NET Core с помощью фильтров действий

Создайте каталог с именем certs в корневом каталоге Docker. В большинстве систем это каталог /var/lib/docker :

sudo mkdir /var/lib/docker/certs

Назовите файл SSL-сертификата (сертификата) domain.crt и ваш ключ SSL domain.key.

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

sudo docker stop [repository name]

Запустите (или перезапустите) собственный реестр с помощью команды:

sudo docker run -d -p 5000:5000 --restart=always --name my-registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2

Доступ к собственному реестру с другого хоста

Чтобы получить доступ к вашему реестру с другого хоста, используйте [ваш домен]:5000/[имя изображения].

Например, чтобы отправить образ с именем my-nginx в реестр, размещенный на сайте example.com, вы должны сначала пометить образ:

sudo docker tag my-nginx example.com:5000/my-nginx

Затем вы можете переместить изображение с помощью следующей команды:

sudo docker push example.com:5000/ubuntu

Чтобы загрузить тот же образ из этого реестра, используйте команду:

sudo docker pull example.com:5000/ubuntu

Настройка репозитория Docker Hub

Веб -сайт Docker Hub — это удобное место для хранения и организации образов Docker в облаке. Вы можете использовать этот веб-сайт для размещения собственного общедоступного или частного репозитория, управления доступом пользователей к репозиторию и доступа к репозиторию из любого места в Интернете.

Официальные изображения

Docker Hub также является отличным местом для просмотра общедоступных образов Docker. Обратите внимание, что только репозитории с пометкой «Официальные» содержат официальные версии изображений.

Docker Hub также является отличным местом для прос

Мы рекомендуем загружать и запускать только официальные образы Docker.

Создайте учетную запись Docker Hub

Для начала вам необходимо настроить учетную запись Docker Hub. Заполните данные своей учетной записи на главной странице Docker Hub и нажмите «Войти».

Для начала вам необходимо настроить учетную за

Проверьте свою электронную почту на наличие сообщения о завершении активации учетной записи, а затем войдите на сайт.

Проверьте свою электронную почту на нал

Каждая учетная запись Docker Hub может создать набор бесплатных общедоступных репозиториев. Каждая учетная запись также поставляется с бесплатным частным репозиторием. Вы можете приобрести дополнительные приватные репозитории за ежемесячную плату.

Читайте также:  Первые шаги в мире программирования для новичков и освоение ключевых навыков

Организация и формирование команды

С помощью Docker Hub вы можете настроить организации и команды для управления набором пользователей. Это удобно, когда у вас есть несколько разных групп людей и вам нужно управлять их разрешениями по отдельности.

Три уровня доступа:

  • Чтение (можно только загружать изображения, но не перемещать)
  • Запись (может как загружать, так и перемещать изображения)
  • Администратор (может загружать и перемещать изображения, добавлять и удалять пользователей)

Создать организацию

На панели управления Docker Hub нажмите «Создать организацию».

На панели управления Docker Hub нажмите «Соз

Введите данные компании и нажмите «Создать».

Введите данные компании и нажмите «Соз

Каждый бизнес начинается со стандартной команды под названием » Владелец» .

Чтобы добавить кого-то еще в число владельцев , введите имя пользователя Docker Hub и нажмите синий +.

Чтобы добавить кого-то еще в число вл

Сделайте свою организацию общедоступной или частной

Компании по умолчанию являются публичными. Чтобы сделать вашу организацию частной , нажмите Настройки на главной странице организации.

Компании по умолчанию являются публичны

Нажмите Частный , а затем нажмите Сохранить.

Нажмите Частный , а затем нажмите Сохр

Добавление команды

Чтобы добавить команду, выберите название своей организации в раскрывающемся меню (если оно еще не выбрано) и нажмите » Команды«.

Чтобы добавить команду, выберите название своей органи

На странице Teams щелкните Create team .

На странице Teams щелкните Create

Введите название и описание команды, затем нажмите «Добавить».

звание и описание команды, затем нажмите «Доб

Создание репозитория Docker Hub

На панели управления Docker Hub щелкните Создать репозиторий.

На панели управления Docker Hub щелкните Созд

Заполните сведения о репозитории (убедитесь, что в раскрывающемся списке «Видимость» указано значение » Общедоступный » или «Частный »), затем нажмите «Создать».

Заполните сведения о репозитории (убедит

На следующей странице представлены сведения о вашем новом репозитории, включая команду Docker Pull для ваших образов.

следующей странице представлены сведения о вашем но

Настройка доступа команды к репозиторию

Чтобы настроить доступ к репозиторию по командам, нажмите «Соавторы» .

Чтобы настроить доступ к репозиторию по команда

В нашем примере у нас есть две команды:

  • Отдел QA jdoesoftwareqa, которому требуется доступ для чтения (но не для записи) к изображениям.
  • Разработчики jdoesoftwaredev, которым нужен доступ как для чтения, так и для записи изображений.

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

В целях безопасности желательно разделить всех пользователей Docker Hub как минимум на две группы:

Чтобы настроить доступ для группы, выберите команду и уровень доступа в раскрывающихся меню, затем нажмите «Добавить группу».

Чтобы настроить доступ для группы, выберите команду и уровен

Доступ к репозиторию Docker Hub из командной строки

Чтобы получить доступ к вашему репозиторию Docker Hub из командной строки, вы должны сначала пройти аутентификацию в Docker Hub, используя логин, который вы создали на веб-сайте:

sudo docker login

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

Читайте также:  Управление исходным кодом, инструменты и лучшие практики в 2023 году

Вам будет предложено указать имя для вхо

После входа в систему вы можете получить доступ к репозиторию Docker Hub с помощью команд docker push и docker pull.

Отправьте образ в репозиторий Docker Hub.

Чтобы загрузить (протолкнуть) образ в репозиторий Docker Hub, вы должны сначала подготовить образ. Требуется следующее:

  • Ваше имя пользователя Docker Hub или название вашей организации Docker Hub.
  • Имя вашего репозитория Docker Hub.
  • Необязательно: тег версии. (Если тег не указан, по умолчанию используется «последний».)

Вы можете переименовать существующий образ с помощью следующей команды:

sudo docker tag [existing image name or ID] [Docker Hub username or organization]/[repository name]:[tag]

Например, если пользователь Docker Hub jdoe хочет загрузить ubuntu-testв репозиторий Docker Hub с именем my-ubuntu-test недавний образ с именем

sudo docker tag my-ubuntu-test jdoe/ubuntu-test:1.0

Если jdoe планирует переместить образ в репозиторий под OU jdoesoftware, тогда команда:

sudo docker tag my-ubuntu-test jdoesoftware/ubuntu-test:1.0

Вы можете убедиться, что образ был переименован правильно, перечислив все образы Docker в вашей системе с помощью этой команды:

sudo docker images

Затем вы можете отправить образ в репозиторий с помощью следующей команды:

sudo docker push [Docker Hub username or organization name]/[repository name]:[tag]

Команда для перемещения изображения, которое мы переименовали в предыдущем примере:

sudo docker push jdoe/ubuntu-test:1.0

Или:

sudo docker push jdoesoftware/ubuntu-test:1.0

Чтобы убедиться, что образ был отправлен в Docker Hub, перейдите на панель инструментов Docker Hub и нажмите «Подробности» для своего репозитория.

Чтобы убедиться, что образ был отправлен в Do

На странице репозитория щелкните Теги.

На странице репозитория щел

Здесь перечислены версии, которые были отправлены в репозиторий, а также время последнего обновления.

Здесь перечислены версии, которые были отправлен

Загрузите образ из репозитория Docker Hub.

Команда для извлечения образа из репозитория Docker Hub отображается на странице репозитория на веб-сайте Docker Hub.

Команда для извлечения образа из репозитория Doc

Команда:

sudo docker pull [your Hub username or organization name]/[your Hub repository name]:[tag]

Например, чтобы загрузить образ jdoe/ubuntu-test:1.0 , который мы отправили на концентратор в разделе выше, выполните следующую команду:

sudo docker pull jdoe/ubuntu-test:1.0

Или:

sudo docker pull jdoesoftware/ubuntu-test:1.0

Вы можете убедиться, что образ был переименован правильно, перечислив все образы Docker в вашей системе с помощью следующей команды:

sudo docker images

Оцените статью
Блог о программировании
Добавить комментарий