Усе, що ви повинні знати про Docker Hub

Давайте дізнаємось про Docker Hub.

Сьогодні в цьому підручнику ми дізнаємося про Docker Hub, зокрема про те, як ним користуватися, як створити власний образ і як він допомагає публікувати та завантажувати зображення Docker Hub. Крім того, ми витратимо деякий час на вивчення деяких популярних репозиторіїв на Docker Hub.

передумови

Вам потрібно базове розуміння Docker, знайомство з середовищем Windows і Linux. У цьому підручнику буде використано інструмент Docker Desktop для відпрацювання поточних вправ, тобто для створення та надсилання зображення в Docker Hub. Користувачі Windows і Mac можуть завантажити та встановити його з туті користувачі Linux дотримуються цього посилання.

Що таке Docker Hub?

Docker Hub — це служба реєстру репозиторіїв, яку надає Docker Inc.

Це дозволяє нам завантажувати зображення докерів у та з Docker Hub. Ми можемо розглядати це як GitHub, де ми отримуємо та надсилаємо вихідний код, але у випадку Docker Hub ми завантажуємо або публікуємо наші зображення контейнерів. Це хмарне онлайн-репозиторій, який зберігає обидва типи репозиторіїв, тобто публічне сховище, а також приватне сховище. Загальнодоступні сховища доступні кожному, а приватні доступні зацікавленим власникам сховищ; також є витрати, пов’язані з цим, якщо ми зберігаємо більше певної кількості сховищ як приватні.

Функції Docker Hub

Docker Hub пропонує декілька таких функцій.

#1. Сховища зображень

Це допомагає нам знаходити та завантажувати зображення контейнерів із Docker Hub.

Це також допомагає нам надсилати зображення як публічне чи приватне сховище до Docker Hub.

#2. Команда та організації

Це дозволяє нам створювати робочі групи та розміщувати репозиторії як приватні, які доступні для використання лише в нашій організації. Таким чином ми керуємо доступом до наших приватних сховищ зображень контейнерів.

#3. Інтеграція GitHub і Bitbucket

Це дозволяє інтегруватись із сховищами вихідного коду, такими як GitHub і BitBucket.

#4. Автоматизовані збірки

Якщо будь-які зміни у вихідному коді було надіслано до сховищ вихідного коду, він автоматично виявляє та створює образи контейнерів із GitHub або BitBucket і надсилає їх у Docker Hub.

#5. Веб-хуки

Після успішного надсилання наших зображень за допомогою веб-хуку запускається дія для інтеграції Docker Hub з іншими службами.

  Як встановити Cinnamon і Nemo на Ubuntu

#6. Офіційні зображення та зображення видавця

Високоякісні зображення, надані докерами, вважаються офіційними зображеннями, і їх можна отримати та використовувати. Подібним чином високоякісні зображення, надані зовнішніми постачальниками, є образами видавця, які також називаються сертифікованими зображеннями, які надають підтримку та гарантують сумісність із Docker enterprise. Більше сертифікованих зображень ми обговоримо далі в цій статті.

Створення першого репозиторію

Цей крок вимагає входу в систему Docker Hub використовуючи свої облікові дані для входу. Якщо у вас немає облікового запису, ви вже можете створити його, натиснувши кнопку «Зареєструватися», доступну на веб-сторінці. Увійшовши, ви можете створити репозиторій, натиснувши «Створити репозиторій» на сторінці привітання.

  • Після натискання кнопки «Створити репозиторій» з’явиться запит на ім’я та назву вашого сховища.

  • Виберіть параметр видимості: публічний або приватний.

Ми також можемо інтегрувати наші репозиторії вихідного коду, такі як GitHub і BitBucket, за допомогою налаштувань збірки, але це необов’язково, і це також можна зробити пізніше.

  • Коли все буде зроблено, натисніть «Створити».

Вітаю! Ви створили свої перші сховища, які виглядатимуть наступним чином.

Docker Hub надає нам лише одне приватне сховище безкоштовно. Хоча, якщо нам потрібно більше приватних сховищ, ми можемо оновити наш обліковий запис до платного плану.

Тепер відкрийте інструмент/термінал Docker Desktop, завантажений і встановлений вище, і ввійдіть у Docker Hub за допомогою команди.

docker login

Вивчення зображень

Існує два способи пошуку в загальнодоступних сховищах і зображеннях з Docker Hub, тобто ми можемо або шукати їх на веб-сайті Docker Hub, або ми можемо скористатися інструментом командного рядка та виконати наведену нижче команду. Уявімо, що ми хочемо виконати пошук в образі сховища MySQL.

docker search mysql

Завантаження зображення

Ми можемо завантажити зображення з команди Docker Hub за допомогою команди pull наступним чином

# docker pull mysql

Якщо на нашому комп’ютері вже є образ mysql, наведена вище команда автоматично оновить образ до останньої версії. Одне, про що слід пам’ятати, це те, що якщо ми помічаємо вихід команди пошуку докерів, на Docker Hub є багато зображень MySQL, і це тому, що будь-хто може надіслати зображення. Але це залежить від нас, який з них використовувати залежно від нашого сценарію використання, і нам потрібно вибрати відповідний.

Скажімо, ми хочемо отримати зображення bitnami/mysql.

# docker pull bitnami/mysql

Створення образу

Для цього процесу потрібен Dockerfile. Ми можемо розглядати Dockerfile як інструкцію з експлуатації, яка вказує докеру, що зібрати. Коротше кажучи, це файл конфігурації, який зберігає інструкції зі складання, те, що ми кажемо йому зібрати.

  Як робити кращі фотографії з Live View на камеру

Як це працює?

Docker зчитує інструкцію з Dockerfile і автоматично створює зображення. Образ Docker — це багатошарова файлова система, яка складається з кількох рівнів, доступних лише для читання, і кожен шар образу Docker представляє інструкції файлу Docker. Давайте виконаємо наведені нижче кроки, щоб створити образ за допомогою Dockerfile.

Створіть Dockerfile, який визначає конфігурацію нашої програми.

# sudo vim Dockerfile

Примітка. Назва файлу має бути Dockerfile з великої літери «D».

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Давайте розглянемо деякі важливі ключові слова, які використовуються в Dockerfile

  • Ми можемо використовувати символ #, щоб додати коментар у Dockerfile
  • Ключове слово «FROM» визначає базове зображення, яке буде використано.
  • ОБСЛУГОВУВАЧКлючове слово – людина, яка буде підтримувати цей імідж.
  • Ключове слово «RUN» використовується для запуску інструкції, наданої для зображення. У нашому випадку спочатку оновіть систему, а потім встановіть MySQL.
  • Ключове слово «CMD» використовується для виконання команди після запуску контейнера.
  • Ключове слово «COPY» можна використовувати для копіювання файлу з нашої хост-ОС до контейнера докерів.
  • Ключове слово «EXPOSE» використовується для вказівки номера порту, на якому контейнер запускатиме свій процес.

Виконайте команду нижче, щоб створити наш образ Docker

Синтаксис:

docker build -t <ваше ім'я_користувача>/назва-сховища.

# docker build -t asadali08537/first-repo .

У наведеній вище команді назва зображення та «.» визначає поточний робочий каталог. Це означає, що Docker шукає поточний каталог файлу Docker. «-t» використовується для позначення зображення. Ми можемо побачити результат, подібний до:

Тепер давайте перевіримо наш образ, запустивши його за допомогою команди run докера.

docker run asadali08527/first-repo

Виконання наведеної вище команди попросить ваш образ Docker успішно встановити MySQL на вашому комп’ютері з усіма необхідними оновленнями, і, нарешті, він також відобразить ехо-повідомлення.

Проштовхування зображення

Коли наш образ успішно створений і він запущений, ми можемо передати його в Docker Hub за допомогою команди push.

docker push asadali08527/first-repo

Ми можемо перевірити теги зображень і статус на Docker Hub, який виглядатиме приблизно так.

Що таке Docker Certified Images?

Це офіційні зображення, надані постачальниками або співавторами. Образ може бути сертифікований Docker Hub, лише якщо його вміст відповідає правилам, стандартам і законам, наданим Docker Hub. Коротше кажучи, це зображення має пройти певні базові тести.

  Як переглянути історію анонімного перегляду на iPhone

Docker Hub надає інструмент inspectDockerImage, за допомогою якого постачальник може самостійно сертифікувати зображення та плагіни (зазвичай постачальник або учасник публікує свої плагіни для журналювання томів і мереж).

Примітка –

Щоб опублікувати наше зображення як сертифіковане докером, спочатку ми повинні самостійно сертифікувати та перевірити наші зображення та плагін через inspectDockerImage після того, як ми пройшли сертифікацію та успішне тестування, Docker Hub сертифікує його. Якщо для нашого вмісту потрібне несертифіковане середовище, його не можна публікувати як сертифіковане за жодних обставин.

На Docker Hub доступно багато підібраних і оптимізованих зображень.

Популярність цих зображень залежить від різних факторів, таких як залучення, присутність на ринку, рейтинги, оцінки задоволеності тощо. Щоб отримати докладний список найпопулярніших сховищ, перейдіть до Docker Hub веб-сайт. Використання образу також залежить від ОС та її архітектури. Якщо ми знаємо, що отримані образи використовуватимуться для якої ОС та її архітектури, ми маємо розглянути наведені нижче ключові фактори, перш ніж отримати образ.

  • Шукайте конкретну версію за допомогою тегів (здебільшого останню).
  • Виберіть той, який має максимальну кількість завантажень і зірок.
  • Перевірте наявність оновлень (коли його було останнє оновлення).
  • Якщо можливо, перевірте його тип, перевірений видавець чи офіційний (Docker Certified).

Веб-хуки

Вебхук — це зворотній веб-виклик, який працює з подіями, і це спосіб для програми надавати інформацію в реальному часі іншій програмі. Сьогодні майже кожна програма надає можливість веб-перехоплення, тому Docker Hub також має цю функцію.

Це HTTP push API, який запускається подіями, визначеними користувачем. Ми можемо використовувати вебхук у докері, щоб сповістити програму чи службу, яка використовує відповідні зображення. Зазвичай ми налаштовуємо веб-хуки з докером як конвеєр подій, щоб будь-яке завантаження нових зображень ініціювало тестові програми для запуску підкреслених тестів.

Щойно результат тесту буде успішним, він ініціює іншу подію, яка буде розгортанням контейнера, і після успішного розгортання буде ініційовано інші події для реєстрації внесених до цього часу змін.

Висновок

Я вважаю, що тепер ви добре розумієте Docker Hub і те, як ви можете шукати, створювати та надсилати зображення. Майте на увазі, що коли ви натискаєте загальнодоступні зображення, вони будуть видимі для всіх.

Перегляньте цей посібник зі встановлення Docker, якщо його ще немає.