Зображення у Docker. Необхідні команди

Зображення у Docker

Назви зображення

Імена зображень у Docker називаються тегами. Тег зображення складається з двох частин name:tag.

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

Тег визначає спеціалізовану версію зображення. Наприклад, він може визначати певну версію node.js. Тег дозволяє визначити спеціалізоване зображення в групі зображень.

Наприклад:

docker build -t name:tag .

ПРИМІТКА. Щоб видалити всі зображення, включаючи зображення з тегами, скористайтеся наступною командою:

docker image prune -a

Обмін зображеннями

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

Надсилання зображень до Docker Hub

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

docker push <image_name>

docker pull <image_name>

Якщо ви хочете надіслати або витягнути дані з приватного реєстру, вам потрібно включити назву приватного реєстру після зображення (URL-адреса постачальника).

Зображення передаються у віддалені сховища. Коли ви створюєте репозиторій на Docker Hub, ви даєте назву образу. Таким чином, перш ніж надсилати зображення, ви повинні переконатися, що ім’я, яке ви дали зображенню на Docker Hub, відповідає імені зображення, яке ви хочете надіслати. Ви можете перевірити назву зображення за допомогою наступної команди:

docker_id/image_name

Це дасть вам назву зображення (ім’я репозиторію).

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

docker build -t docker_id/image_name

Ви можете перейменувати або знову тегати поточну збірку образу наступним чином:

docker tag <old_name>: latest <new_name>

Технічно – це клонування зображення.

Перш ніж ви зможете надіслати дані в Docker Hub, вам потрібно встановити з’єднання з віддаленим репозиторієм

docker login

Якщо ви запустите наведену вище команду в терміналі, вам буде запропоновано ввести ідентифікатор Docker і пароль. Це потрібно виконати лише один раз, щоб встановити з’єднання.

Під час надсилання зображення ви надсилаєте лише ті шари зображення, які є унікальними для цього зображення. Так, наприклад, якщо ви використовуєте базове зображення node.js, push sh, шар node.js не надійде до репозиторію, оскільки він вже існує в Docker Hub.

Отримання зображень з Docker Hub

Коли ви витягуєте образ, Docker завжди витягуватиме з реєстру найновіший образ із цим ім’ям.

docker pull <image_name>

Ця команда перевірить наявність оновлень, а також перевірить і переконається, що ваше локальне зображення є останньою версією.

docker run <image_name>

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

Отримайте практичні навички використання Docker та Docker Compose для запуску додатків на онлайн-курсі DevOps Junior!

Переклад

 

Интересная статья. Поделись с друзьями!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *