Створення першого контейнера Docker
Використання Dockerfiles
У цьому посібнику пояснюються основи початку роботи з Docker. Я припускаю, що у вас уже встановлено Docker. Кроки цього посібника працюватимуть на будь-якому дистрибутиві Linux, сумісному з Docker (CentOS, Ubuntu тощо).
Створення першого контейнера Docker
Docker створює віртуальні контейнери. Контейнерна система Docker дуже ефективна, оскільки вона працює з комітами. Це заощаджує простір і дозволяє побачити зміни в контейнері. Наприклад, якщо ви встановлюєте Apache в контейнер, ви можете створити коміт з назвою «Installed Apache», щоб точно знати, що сталося.
Перше, що ми зробимо, це витягнемо зі сховища. Скажімо, що ви хочете встановити Ubuntu в контейнер, ви можете витягнути Ubuntu зі сховища:
docker pull ubuntu
Наберіться терпіння, оскільки це може зайняти деякий час. Після того, як все буде завантажено, ви можете створити контейнер з цією ОС:
docker run -i -t ubuntu /bin/bash
Або з Debian, наприклад:
docker run -i -t debian /bin/bash
Якщо він не може знайти ОС (ще не вилучено), він автоматично витягне її з Docker Hub.
Фактично, тепер у вас є контейнер! Ви запускаєте bash у зменшеному контейнері, яким керує Docker. Спробуйте запустити деякі поширені команди Linux, щоб відчути оточення.
Коли ви введете текст, exit
щоб вийти з контейнера та повернутися до основної ОС, усі ваші зміни буде знищено. Щоб зберегти зміни в контейнері, ми використовуємо коміти.
Здійснює зобов'язання
Коли ви створюєте контейнер Docker, його ім’я хоста генерується автоматично. Наприклад, коли я створюю новий контейнер Ubuntu, я можу отримати ім’я хоста f7943e42aff0
. Це ім’я, яке Docker дав вашому контейнеру.
Встановіть на нього те, що хочете, і переконайтеся, що все працює. Потім вийдіть із контейнера Docker:
exit
Тепер нам потрібно взяти на себе зобов’язання; інакше всі ваші зміни буде втрачено.
docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot
-a
Перемикач може бути використаний , щоб правильно визначити , хто є автором цієї фіксації (хто зробив зміни в контейнері). -m
є повідомленням фіксації. Це f7943e42aff0
ім'я хоста мого контейнера. У вашому випадку це буде відрізнятися, оскільки Docker генерує їх випадковим чином. apachesnapshot
це назва вашого зображення.
Ви можете переглянути список з усіма зображеннями на локальній машині. Найновіші – на вершині.
docker images
Щоб запустити контейнер Docker зі змінами, виконайте:
docker run -t -i apachesnapshot /bin/bash
Використання Dockerfiles
Файли Docker можна використовувати для створення зображень із вже встановленими програмами. Завдяки цьому зручно запускати контейнер без виконання певної команди. Наприклад, якщо ми хочемо створити зображення з ~/file.txt
уже створеним файлом , ми б використали такий файл Docker:
FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt
Щоб створити контейнер Docker з цим Dockerfile, створіть папку для вашого Dockerfile на вашій локальній машині (я використовував ~/files
). Помістіть вміст вашого Dockerfile у файл під назвою Dockerfile
. Тепер ви можете створити зображення з ним, запустивши:
docker build -t="test" .
Це створює образ Docker із вашого сценарію Dockerfile. Тепер ви можете запустити свій контейнер. test
таке ж значення, що й test
у docker build
команді.
docker run -t -i test /bin/bash
Коли відкриється оболонка bash, ви побачите, що ~/file.txt
файл уже створено.
Це лише смак потужних середовищ, які можна створити за допомогою Docker. Офіційний посібник Docker набагато глибше розглядає ці теми. На цьому етапі ви зможете поекспериментувати з запуском існуючих контейнерів і почати створювати свої власні.
Автор Вільям Девід Едвардс