Контейнерный движок — это открытый движок, который позволяет создавать лёгкие, переносимые и автономные контейнеры для любого приложения.
Установка Docker
Перед установкой Docker получите базовое представление о том, что такое Docker и как он работает. Для получения дополнительной информации см Документация Docker.
Docker совместим почти со всеми операционными системами. Выберите версию Docker, которая лучше всего соответствует вашим требованиям. Если вы не уверены, какую редакцию Docker Community использовать, см https://docs.docker.com/engine/install/.
- Чтобы использовать Docker для загрузки образов в SWR, версия Docker должна быть от 1.11.2 (включительно) до 24.0.9 (включительно).
- Сначала привяжите Elastic IP‑адрес, если ваш сервер работает в частной сети, поскольку установка требует подключения к Интернету.
На устройстве с Linux выполните следующие команды для быстрой установки Docker:
curl -fsSL get.docker.com -o get-docker.shsh get-docker.shsudo systemctl daemon-reloadsudo systemctl restart docker
Создание образа контейнера
В этом разделе рассматриваются шаги использования Dockerfile для создания образа контейнера простого веб‑приложения. Dockerfile — это текстовый файл, содержащий все инструкции, которые пользователь может вызвать в командной строке для создания образа. Образ контейнера — это стек, состоящий из нескольких слоёв. Каждая инструкция создаёт слой.
При использовании браузера для доступа к контейнеризованному приложению, построенному из образ Nginx, вы увидите стандартную приветственную страницу Nginx. В этом разделе вы создадите новый образ на основе образ Nginx чтобы изменить приветственное сообщение на Hello, SWR!
- Войдите в устройство, на котором запущен Docker, как пользователь root.
- Выполните следующие команды, чтобы создать пустой файл с именем Dockerfile:
mkdir mynginx
cd mynginx
touch Dockerfile
- Редактировать Dockerfile.
vim Dockerfile
Добавьте следующие инструкции в Dockerfile:
FROM nginxRUN echo '<h1>Hello,SWR!</h1>' > /usr/share/nginx/html/index.htmlВ предыдущих инструкциях:
- FROM: создает слой из базового образа. Действительный Dockerfile должен начинаться с FROM инструкции. В этом примере Nginx образ используется в качестве базового образа.
- RUN: выполняет команду для создания нового слоя. Одна из её форм записи — RUN <command>. В этом примере echo команда выполняется для отображения Привет, SWR!
Сохраните изменения и выйдите.
- Запустить docker build [опция] <контекстный путь> для создания образа.
docker build -t nginx:v1 .
- -t nginx:v1: указывает имя образа и тег.
- .: указывает путь, где расположен Dockerfile. Всё содержимое в этом пути упаковывается и отправляется в Docker для создания образа.
- Выполните следующую команду, чтобы проверить созданный образ. Вывод команды показывает, что образ nginx был создан с тегом v1.
docker images
Создание пакета образа
В этом разделе описывается, как сжать образ контейнера в .tar или .tar.gz пакет.
- Войдите в устройство, где запущен Docker, как пользователь root.
- Выполните следующую команду, чтобы перечислить образы.
docker images
Проверьте имя и Тег образа, который нужно сжать.
- Выполните следующую команду, чтобы сжать образ в пакет.
docker save [OPTIONS] IMAGE [IMAGE...]
NoteOPTIONS: Вы можете установить это в --output или -o, указывая, что образ экспортируется в файл.
Файл должен быть в формате .tar или .tar.gz.
Пример:
$ docker save nginx:latest > nginx.tar$ ls -sh nginx.tar108M nginx.tar$ docker save php:5-apache > php.tar.gz$ ls -sh php.tar.gz372M php.tar.gz$ docker save --output nginx.tar nginx$ ls -sh nginx.tar108M nginx.tar$ docker save -o nginx-all.tar nginx$ docker save -o nginx-latest.tar nginx:latest