Docker Основные примеры использования.

Дата: 15.09.2019 Автор Admin

В этой статье я хотел собрать основные рецепты и заметки по Docker, которые помогут познакомиться с ним и быстро начать работу.

Начнем с установки, установить Doсker можно так:

На Debian based:

Ставим необходимые пакеты:

Добавляем ключ GPG для репозитория Docker

Добавляем репозиторий

Ставим Docker

Для установки Docker в повторяем те же шаги кроме:

Для установки Docker на CentOS делаем следующее:

Устанавливаем необходимые пакеты

Добавляем репозиторий

Устанавливаем Docker

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

Чтобы запустить контейнер выполните следующую команду:

Рассмотрим пример запуска двух контейнеров с пробросом портов наружу и созданием линка между контейнерами и указанием volume для постоянного хранения данных.

Запуск первого контейнера в интерактивном режиме

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

Таким образом мы запустили 2 контейнера, teamcity и gitlab, к которым можно подключиться через ip адрес нашего хоста (на котором запущен Docker)

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

параметры:

—publish — проброс портов

—name имя для запускаемого контейнера

—restart перезапуск при падении

—volume подключение внешнего хранилища для хранения данных внутри контейнера на хосте, например —volume logs:/var/log/gitlab — сохранит папку /var/log/gitlab внутри контейнера на хосте в папке logs

—env позволяет назначить переменные окружения

—detach запускает контейнер в фоне

-it выполняет интерактивный запуск

—link позволяет линковать контейнеру друг с другом

Последний параметр указывает какой образ docker запустить в примерах это jetbrains/teamcity-server и gitlab/gitlab-ce:latest

Посмотреть список образов можно тут https://hub.docker.com/

Сборка контейнера

Рассмотрим пример сборки Docker образа

Создадим простейший dockerfile

Создадим файл приложения app.py со следующим содержимым:

Создаим файл с зависимостями — requirements.txt со следующим содержимым:

Для сборки мы должны находится в каталоге с ранее созданными файлами, проверяем с помощью команды ls

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

Мы собрали контейнер с именем friendlyhello

Запусим собранный контейнер, с пробросом порта

Контейнер запущен и доступен по адресу

http://localhost:4000

 

Основные команды

Просмотр образов Docker:

 

Просмотр запущенных контейнеров:

Либо

 

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

Удаление контейнера

 

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

находим контейнер:

 

подключаемся к консоли контейнера:

 

Также можно выполнять команды внутри контейнера:

Теперь рассмотрим настройку прокси на Docker хосте

ЕСЛИ ИСПОЛЬЗУЕТСЯ SYSTEMD нужно в настройки сервиса Docker добавить прокси, открываем сервис и добавляем в него строку:

Должно получится примерно так:

Далее применяем изменения systemd

Теперь редактируем файл ~/.docker/config.json под своим пользователем (если файла нет — создаем)

В качестве альтернативы можно передать параметры прокси контейнеру, через Docker run,

 

Или внутри Dockerfile

 

Сборка Dockerfile с указанием прокси:

 

Чтобы узнать IP адрес контейнера выполните команды:

находим нужный контейнер

 

Узнаем его ip адрес:

 


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

Ваш адрес email не будет опубликован.