Установка и использование Docker на Debian

1.Установка Docker

Установим пакеты необходимые для работы apt с https-методом и CA-сертификатами

Импортирование GPG-ключа, которым подписаны пакеты

Добавление репозитария Docker

Обновление локального кеша пакетов

Проверка того, что установка Docker будет производиться с официального репозитария Docker, а не с Debian-репозитария

Установка Docker

Проверим,запустился ли докер после установки

Если нет,то запускаем вручную

Просмотр Docker компонентов и их версий

Просмотр размещения различных компонентов, кол-ва контейнеров и образов, информации о операционноой системе, версии ядра, процессоре, памяти, имени хоста и т.д.

Присутствуют ряд предупреждений

Включим поддержку разделения виртуальной памяти

Обновим загрузчик

Перезагрузим систему для применения изменений

Проверяем после пере загрузки

Для включения поддержки вышеуказанных параметров обновим ядро с версии 3.X до версии 4.X

Docker не запустился по причине

Решение

Проверим статус докера и при необходимости добавим его в автозагрузку

В качестве Storage Driver вместо aufs используется devicemapper

 

2.Запуск контейнера Docker

 

3.Работа с Docker/полезные команды Docker

 

Поиск доступных Docker -образов c операционной системой Ubuntu

 

Скачать образ, не создавая контейнер

Например, Ubuntu 14.04

Например, Ubuntu 16.04

Если не указывать версию, то скачивается последняя стабильная версия ubuntu:latest

 

Просмотр списка доступных Docker-образов в системе

 

Удалить Docke-образ hello-world c системы

Пока невозможно удалить этот образ т.к. он используется в контейнере

 

Просмотр существующих контейнеров(как запущенных, так и остановленных)

Просмотр ТОЛЬКО запущенных контейнеров

 

Удалить контейнер (имя контейнера или его ID можно определить с предыдущей команды)

Удалить все контейнеры

 

Удалить Docker-образ hello-world c системы

 

Проверка существующих в системе образов

 

Создание/запуск контейнера с Ubuntu14.04 (если образ предварительно не был скачан, то Docker сам автоматически его скачает с Docker public registry)

Проверка состояния нашего контейнера

 

Подключение к контейнеру

 

Просмотр запущенных процессов внутри Docker-контейнера

 

Просмотр использование ресурсов контейнером
(процессорного времени, памяти, дисковой подсистемы, сетевой подсистемы)

 

Копирование файлов с Docker-контейнера на хостовую ноду
(например,каталога /etc контейнера в каталог /root хостовой ноды)

 

Остановка контейнера

Остановка всех контейнеров

 

Запуск контейнера

 

Перезапуск контейнера

 

Переименование контейнера

 

Просмотр всех настроек контейнера

 

4. Построение Docker-образа

1.Запускаем/создаем контейнер из необходимого/первоначального образа операционной системы
2. Устанавливаем необходимые пакеты и делаем необходимые настройки конфигурационных файлов
3. Сохраняем состояние контейнера(commit) как новый Docker-образ локально на сервере
4.Загружаем новый образ на Docker Hub(push) (предварительно необходимо зарегистрироваться на нем)
https://hub.docker.com/

Итого схема имеет вид/последовательность

1.В системе уже есть запущенный контейнер с Ubuntu 14.04.
Подключимся к нему

2.Установим Apache внутри контейнера

Выходим с контейнера

3.Сохраняем локально новое состояние контейнера, тем самым создавая новый Docker-образ

Сохраняем изменения делая commit, предварительно посмотрим ID-контейнера(0e6e195a47c8)

Проверяем налииче нового Docker-образа

Теперь этот образ можно использовать при запуске/создании контейнера

4.Заливаем новый образ на Docker Hub
Предварительно залогинимся на Docker Hub с командной строки, используя имя пользователя и пароль,указанные при регистрации

Загружаем созданный образ на Docker Hub

5.Для запуска нового контейнера с нового образа используем команды:

 

По умолчанию Docker-команды может запускать только root-пользователь
Для того,чтобы дать возможность НЕ root-пользовтелю запускать команды Docker достаточно добавить пользователся в группу docker

И перелогиниться в системе,чтобы изменения вступили в силы

 

5.Настройка сети в Docker
Docker использует Linux bridge для внутреннего межконтейнерного взаимодействия, а также для соединения контейнера с внешними сетями.
После установки Doсker автоматически создается bridge с именем docker0
Каждый контейнер будет соединяться с docker0 bridge-интерфейсом

Проверяем настройки сети контейнеров
Для первого контейнера docker-myubuntu14.04

Для второго контейнера

В самом контейнере,например, docker-myubuntu14.04, сетевые настройки имеют вид

На втором контейнере docker-myubuntu14.04-v2 настройки аналогичны за исключением IP-адреса и MAC-адреса сетевого интерфейса

При этом настройки сетевых интерфейсов на ноде имеют вид

 

6.Создание/построение Docker-образа из Docker-файла Dockerfile

Создадим образ с Ubuntu 16.04, который впоследствии может быть использован для создания контейнера
Для этого создадим Dockerfile, в котором пропишим необходимые инструкции

Формат Dockerfile имеет вид

Комментириям предшествует символ #
Название инструкции пишутся с большой буквы
В Dockerfile были использованы следующие инструкции

Запустим сборку/создание образа

Проверяем наличие созданного образа с именем kamaok/ubuntu16.04

Теперь создаем контейнера из этого образа

Проверяем наличие контейнера запущенного из нового образа

Подключаемся к контейнеру и проверяем версию операционной системы

 

Источник:

https://docs.docker.com/engine/tutorials/
http://www.itzgeek.com/how-tos/linux/centos-how-tos/working-with-docker-containers-command-line-interface.html#axzz3XxzPCNOT
http://www.itzgeek.com/how-tos/linux/working-with-docker-images-building-docker-images.html
http://xmodulo.com/manage-linux-containers-docker-ubuntu.html
https://www.linode.com/docs/applications/containers/docker-quick-reference-cheat-sheet

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика