practicum

Docker

Как и виртуальные машины, контейнеры создаются из образов. На сегодняшний день самая популярная и удобная платформа для создания и запуска образов — Docker.Docker работает так. Предположим, вы с коллегами разработали приложение. Вы упаковываете его со всеми зависимостями — библиотеками, интерпретаторами, файлами и пр. — в Docker-образ и отправляете в репозиторий (т. е. хранилище). Чтобы развернуть приложение, нужно скачать из репозитория образ и создать из него контейнер на рабочем сервере.Хранилища Docker-образов бывают публичные и приватные. Самое известное публичное хранилище — это Docker Hub. Однако если вы работаете с Yandex.Cloud, лучше использовать собственное хранилище облака Yandex Container Registry. О нём и его плюсах мы поговорим на следующем уроке.

Как создаются образы

Docker-образы создаются с помощью инструкций, таких как запуск команды, добавление файла или директории, создание переменной окружения. Инструкции хранятся в Dockerfile — это обычный текстовый файл, который можно редактировать в любом текстовом редакторе (что соответствует принципам Infrastructure as Code).Вот простой пример Dockerfile для образа, в котором есть только ОС Ubuntu и веб-сервер nginx:

Скопировать кодFROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y nginx
ENTRYPOINT ["nginx", "-g", "daemon off;"] 

Каждая инструкция создаёт новый слой образа, и эти слои накладываются друг на друга. В конце вы задаёте команду — исполняемый файл, который будет запущен при старте Docker-контейнера.В примере выше первая строка определяет исходный образ (публичный образ с последней версией Ubuntu), на основе которого мы строим свой.Вторая и третья строки устанавливают веб-сервер nginx.Последняя строка задаёт точку входа — запускает nginx.Процесс создания образа — это считывание и выполнение инструкций из Dockerfile. Чтобы создать образ из Dockerfile, используется команда build. Если файл со спецификацией называется стандартно (Dockerfile), не указывайте название. Если иначе — напишите название после ключа -f. После ключа -t указывается имя образа, который будет создан:

Скопировать кодdocker image build -f my-dockerfile -t my-image . 

Точка в примере означает, что для сборки используется текущая директория.

Как создаются контейнеры из образов

Для работы с хранилищем используются традиционные команды push и pull. Так мы помещаем образ в хранилище:

Скопировать кодdocker push my-image 

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

Скопировать кодdocker pull my-image
docker run my-image 

При создании контейнера из образа можно использовать параметры (флаги). Например, чтобы ограничить ресурсы памяти и процессора, загрузить свежую версию образа, передать значения переменных. Смотрите доступные флаги с помощью традиционного ключа --help.

Previous Story

Контейнеризация

Next Story

Yandex Container Registry

Latest from Blog

Zabbix – Docker – Raspberry Pi

Для начала установим Portainer – веб-интерфейс для управления docker-контейнерами. Бесплатно, удобно, подойдет новичкам в docker. Установка

Сетевая папка/диск в Linux

x.x.x.x адрес шары /mnt/shara точка монтирования user пользователь с доступом к шаре 1234 пароль пользователя Для

Памятка SSH

В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые

0 £0.00