JavaRush /Курси /Модуль 2: Fullstack /Робота з Docker Hub

Робота з Docker Hub

Модуль 2: Fullstack
Рівень 12 , Лекція 8
Відкрита

9.1 Повторне знайомство з Docker Hub

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

Основні задачі сервісу Docker Hub

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

  1. Публічні та приватні репозиторії: Можливість зберігати образи як у відкритому доступі для всіх, так і в обмеженому доступі для певних юзерів.
  2. Автоматичні збірки (automated builds): Інтеграція з системами контролю версій, такими як GitHub, для автоматичної збірки образів при кожній зміні коду.
  3. Веб-хуки (webhooks): Налаштування автоматичних дій, які виконуються при оновленні образів.

9.2 Пошук готових образів

1. Використання веб-інтерфейсу Docker Hub

  1. Перейдіть на сайт Docker Hub: відкрийте Docker Hub у вашому браузері.
  2. Пошук образів: введіть назву образу або ключові слова, пов'язані з вашим проєктом, у рядок пошуку. Наприклад, для пошуку образу Nginx введіть "nginx" і натисніть Enter.
  3. Перегляд результатів: у результатах пошуку з'являться підходящі образи. Офіційні образи позначені як "Official" і підтримуються Docker або відповідними організаціями. Образи від інших користувачів мають зазначення імені користувача або організації.
  4. Вибір образу: клікніть на цікавий для вас образ, щоб ознайомитися з його описом, доступними тегами, інструкціями з використання і іншою корисною інформацією.

2. Пошук образів через командний рядок

Docker також дозволяє шукати образи безпосередньо з командного рядка за допомогою команди docker search.

Приклад команди:

Terminal


docker search nginx

Ця команда виведе список образів, що містять nginx у назві або описі. У виводі будуть зазначені назва образу, його опис, кількість зірок (рейтинг), позначка офіційного статусу та інформація про автоматичні збірки.

Приклад виводу:

Terminal


NAME                           DESCRIPTION                                       STARS     OFFICIAL   AUTOMATED
nginx                          Official build of Nginx.                          13764     [OK]
jwilder/nginx-proxy            Automated Nginx reverse proxy for...             2135                [OK]
richarvey/nginx-php-fpm        Container running Nginx + PHP-FPM...             819                 [OK]

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

Після того як ти знайшов потрібний образ, його можна завантажити на твій локальний комп'ютер за допомогою команди docker pull.

1. Завантаження конкретного образу

Щоб завантажити конкретний образ, використовуй наступний синтаксис:


docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Де:

  • NAME: ім'я образу.
  • TAG: (необов'язково) тег образу. За замовчуванням використовується тег latest, якщо не вказано інший.
  • @DIGEST: (необов'язково) SHA256-ідентифікатор образу.

Приклад завантаження образу:

Цей приклад завантажить останній образ nginx з тегом latest.

Terminal


docker pull nginx:latest

2. Завантаження образу з конкретним тегом

Якщо тобі потрібен конкретний тег образу, вкажи його після двокрапки. Цей приклад завантажить образ Ubuntu версії 20.04.

Terminal

docker pull ubuntu:20.04

3. Перевірка завантажених образів

Після завантаження образу ти можеш перевірити, які образы знаходяться на твоєму локальному комп'ютері, за допомогою команди docker images.

Приклад команди:

Вивід команди покаже список всіх завантажених образів із зазначенням репозиторія, тега, ідентифікатора образу, дати створення і розміру.

Terminal


docker images

9.4 Приклади використання готових образів

1. Запуск веб-сервера Nginx

Після завантаження образу Nginx ти можеш швидко запустити контейнер на його основі.

Приклад:

Цей приклад запускає контейнер Nginx у фоновому режимі та перенаправляє порт 80 контейнера на порт 8080 хост-машини. Тепер ти можеш отримати доступ до веб-сервера Nginx, відкривши браузер і ввівши http://localhost:8080.

Terminal

docker run -d -p 8080:80 nginx

2. Запуск бази даних MySQL

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

Приклад:

Цей приклад запускає контейнер MySQL, встановлює пароль для користувача root та перенаправляє порт 3306 контейнера на порт 3306 хост-машини.

Terminal

docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest

3. Використання образу Redis для кешування

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

Приклад:

Цей приклад запускає контейнер Redis і перенаправляє порт 6379 контейнера на порт 6379 хост-машини.

Terminal

docker run -d -p 6379:6379 --name my_redis redis:latest
1
Опитування
Управління ресурсами контейнерів, рівень 12, лекція 8
Недоступний
Управління ресурсами контейнерів
Управління ресурсами контейнерів
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ