Docker: Запуск Контейнера из Образа

Команда docker run служит для запуска Docker-контейнеров из образов.

В этой статье я расскажу, как запускать контейнер из образа на примере последнего официального базового Docker-образа Ubuntu.

Я покажу, как установить apache2 внутри контейнера с Ubuntu и как сохранить этот контейнер в качестве нового образа.

И в конце я покажу, как из этого нового образа в интерактивном и фоновом режимах запускать контейнеры.

Дельный Совет: Образ vs. Контейнер … В чем разница? Читать Далее →

Запуск Контейнера из Образа в Docker

Не Путайте: Сам по себе Docker-образ невозможно «запускать». Команда docker run берет Docker-образ в качестве темплейта и создает из него контейнер, который и запускается.

Найдите необходимый образ на Docker Hub:

$ docker search ubuntu
NAME                            DESCRIPTION             STARS  OFFICIAL  AUTOMATED
ubuntu                          Ubuntu is a Debian...   6759   [OK]       
dorowu/ubuntu-desktop-lxde-vnc  Ubuntu with openss...   141              [OK]
rastasheep/ubuntu-sshd          Dockerized SSH ser...   114              [OK]
ansible/ubuntu14.04-ansible     Ubuntu 14.04 LTS w...   88               [OK]
ubuntu-upstart                  Upstart is an even...   80     [OK]

Скачайте Docker-образ из репозитория с помощью команды docker pull:

$ docker pull ubuntu

Запустите контейнер из Docker-образа:

$ docker run -it ubuntu /bin/bash
root@e485d06f2182:/#

Когда вы выполняете docker run ОБРАЗ, движок Docker берет ОБРАЗ, добавляет доступный для записи верхний слой и инициализирует различные параметры (сетевые порты, имя контейнера, идентификатор и лимиты ресурсов).

Установите веб-сервер apache2 внутри контейнера, а затем выйдите из него:

root@e485d06f2182:/# apt update
root@e485d06f2182:/# apt install apache2 -y
root@e485d06f2182:/# exit

Из остановленного контейнера, в котором вы установили apache2, создайте новый образ и назовите его apache_snapshot:

$ docker commit e485d06f2182 apache_snapshot

Чтобы просмотреть все образы на Docker-хосте, выполните:

$ docker images
REPOSITORY          TAG           IMAGE ID            CREATED             SIZE
apache_snapshot     latest        13037686eac3        22 seconds ago      249MB
ubuntu              latest        00fd29ccc6f1        3 weeks ago         111MB

Дельный Совет: Как просмотреть ( запущенные | остановленные | все ) Docker-контейнеры! Читать Далее →

Теперь из нового Docker-образа вы можете запускать контейнеры в интерактивном режиме:

$ docker run -it apache_snapshot /bin/bash

Либо вы можете из этого Docker-образа запустить контейнер в фоновом режиме с портом :80 внутри Docker-контейнера проброшенным на порт :8080 Docker-хоста:

$ docker run -d -p 8080:80 apache_snapshot /usr/sbin/apache2ctl -D FOREGROUND

В этом случае, чтобы убедиться что apache2 внутри контейнера запущен, просто откройте http://localhost:8080/ и вы увидите стартовую страницу: «Apache2 Ubuntu Default Page».

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.