Docker Registry
Docker Registry, реалізацію з відкритим вихідним кодом для зберігання і розповсюдження зображень контейнерів та іншого контенту, було передано до CNCF. Registry тепер називається Distribution Registry, а документація перемістилася в розділ дистрибутивів/розповсюдження.
Що це таке?
Реєстр - це високомасштабована серверна програма без статусу, яка зберігає і дозволяє вам поширювати зображення контейнерів та інший вміст. Реєстр має відкритий вихідний код і розповсюджується під вільною ліцензією Apache.
Навіщо його використовувати?
Ви повинні використовувати Реєстр, якщо хочете
- суворо контролювати, де зберігаються ваші зображення
- повністю володіти конвеєром розповсюдження зображень
- тісно інтегрувати зберігання та розповсюдження зображень у робочий процес власної розробки
Альтернативи
Користувачам, які шукають готове рішення, що не потребує обслуговування, рекомендується скористатися однією з існуючих служб реєстру. Багато з них надають підтримку та перевірку безпеки і є безкоштовними для загальнодоступних сховищ. Наприклад:
- Docker Hub
- Quay.io
- Пакети GitHub
Провайдери хмарної інфраструктури, такі як AWS, Azure, Google Cloud та IBM Cloud, також пропонують платні послуги реєстру контейнерів.
Публікація образів у реєстрі
Щоб запушити образ у приватний Docker Registry, необхідно впевнитися, що ви маєте доступ до цього реєстру, а також користуєтеся правильними командами.
Попередні вимоги
- Docker встановлений: Переконайтеся, що на вашій машині встановлений Docker.
- Акаунт у приватному реєстрі: Переконайтеся, що у вас є обліковий запис та повноваження на створення та завантаження зображень у приватний реєстр.
- Доступ до реєстру: Зазвичай, приватні реєстри потребують аутентифікації.
Кроки для пушу образу у приватний реєстр
1. Аутентифікація
Аутентифікуйтеся у вашому приватному реєстрі за допомогою команди docker login:
docker login <адреса-реєстру>
Ви будете запрошені ввести своє ім'я користувача і пароль.
Наприклад:
docker login myprivateregistry.com
2. Створення образу
Якщо у вас ще немає образу, створіть його за допомогою Dockerfile:
Приклад Dockerfile:
# Простий Dockerfile
FROM alpine:3.12
CMD ["echo", "Hello, World!"]
Створіть образ за допомогою команди:
docker build -t myapp:latest .
3. Тегування образу
Призначте тег образу, включивши назву вашого приватного реєстру:
docker tag myapp:latest <адреса-реєстру>/myapp:latest
Наприклад:
docker tag myapp:latest myprivateregistry.com/myapp:latest
4. Пуш образу
Пуште образ у приватний реєстр:
docker push <адреса-реєстру>/myapp:latest
Наприклад:
docker push myprivateregistry.com/myapp:latest
5. Перевірка
Переконайтеся, що образ успішно завантажено, перевіряючи інтерфейс реєстру або за допомогою API реєстру.
Висновок
Docker Registry - потужний інструмент для контролю зберігання та розповсюдження ваших Docker зображень. Використовуючи команди, описані в цій статті, ви зможете ефективно взаємодіяти з вашим Docker Registry, керуючи створенням, завантаженням та видаленням зображень контейнерів.