Облачная платформаAdvanced

Основы Container Engine

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Container engine — это open-source движок, который позволяет создавать легковесный, переносимый и автономный контейнер для любого приложения.

Установка Docker

Прежде чем установить Docker, получите базовое представление о том, что такое Docker и как он работает. Для получения дополнительной информации см. Docker Documentation.

Docker совместим почти со всеми операционными системами. Выберите версию Docker, которая лучше всего соответствует вашим потребностям. Если вы не уверены, какую Docker community edition использовать, см. https://docs.docker.com/engine/install/.

Note
  • Вы можете использовать SWR для хранения образов контейнеров. Рекомендуется загрузить Docker 18.06 или более позднюю версию.
  • Сначала привяжите Elastic IP, если ваш сервер работает в частной сети, поскольку установка требует подключения к Интернету.

На устройстве с Linux выполните следующие команды для быстрой установки Docker:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
sudo systemctl daemon-reload
sudo systemctl restart docker

Создание образа контейнера

В этом разделе рассматриваются шаги по использованию Dockerfile для создания образа контейнера простого веб‑приложения. Dockerfile — это текстовый файл, содержащий все инструкции, которые пользователь может вызвать в командной строке для сборки образа. Образ контейнера представляет собой стек, состоящий из нескольких слоёв. Каждая инструкция создаёт слой.

When using a browser to access a containerized application built from a Nginx image, you will see the default Nginx welcome page. In this section, you will build a new image based on the Nginx image to change the welcome message to Hello, SWR!

  1. Войдите в устройство с Docker от имени пользователя root.
  2. Run the following commands to create an empty file named Dockerfile:

    mkdir mynginx

    cd mynginx

    touch Dockerfile

  3. Edit Dockerfile.

    vim Dockerfile

    Добавьте следующие инструкции в Dockerfile:

    FROM nginx
    RUN echo '<h1>Hello,SWR!</h1>' > /usr/share/nginx/html/index.html

    В предыдущих инструкциях:

    • FROM: создает слой из базового образа. Корректный Dockerfile должен начинаться с инструкции FROM. В этом примере в качестве базового образа используется образ Nginx.
    • RUN: executes a command to create a layer. One of its syntax forms is RUN <command>. In this example, the echo command is executed to display Hello, SWR!

    Сохраните изменения и выйдите.

  4. Выполните docker build [option] <context path> для создания образа.

    docker build -t nginx:v1 .

    • -t nginx:v1: указывает имя образа и тег.
    • .: указывает путь, где находится Dockerfile. Всё содержимое этого пути упаковывается и передаётся Docker для сборки образа.

  5. Выполните следующую команду, чтобы проверить созданный образ. Вывод команды показывает, что образ nginx был создан с тегом v1.

    docker images

Создание пакета образа

В этом разделе описывается, как сжать образ контейнера в пакет .tar или .tar.gz.

  1. Войдите в устройство, на котором запущен Docker, от имени пользователя root.
  2. Выполните следующую команду для вывода списка образов.

    docker images

    Проверьте имя и тег образа, который будет сжат.

  3. Выполните следующую команду для сжатия образа в пакет.

    docker save [OPTIONS] IMAGE [IMAGE...]

    Note

    OPTIONS: Вы можете установить его в --output или -o, указывая, что образ экспортируется в файл.

    Файл должен быть в формате .tar или .tar.gz.

    Пример:

    $ docker save nginx:latest > nginx.tar
    $ ls -sh nginx.tar
    108M nginx.tar
    $ docker save php:5-apache > php.tar.gz
    $ ls -sh php.tar.gz
    372M php.tar.gz
    $ docker save --output nginx.tar nginx
    $ ls -sh nginx.tar
    108M nginx.tar
    $ docker save -o nginx-all.tar nginx
    $ docker save -o nginx-latest.tar nginx:latest