wangsha.docker-generic-image
docker-generic-image
Роль Ansible для управления и запуска контейнера Docker из любого указанного изображения.
Требования
Эта роль была протестирована только на Ubuntu 14.04. Поскольку здесь используется модуль Docker от Ansible, вам нужно убедиться, что установлены достаточно свежие версии docker-py
и docker
.
Примеры
Установите этот модуль из Ansible Galaxy в директорию './roles':
ansible-galaxy install wangsha.docker-generic-image -p ./roles
Используйте его в плейбуке следующим образом, предполагая, что Docker уже настроен:
- hosts: 'servers'
roles:
- role: angstwad.docker_ubuntu
become: true
- role: wangsha.docker-generic-image
become: true
docker_container_name: hello-world
docker_container_image: hello-world
Посмотрите на defaults/main.yml для получения переменных роли, которые можно переопределить.
Если вам нужен плейбук для настройки самого Docker, ознакомьтесь с ролью angstwad.docker_ubuntu Galaxy.
Пользовательские mappings объемов
Docker позволяет монтировать директории или файлы хоста как объем данных.
Эта роль монтирует директории хоста для сохранения данных контейнера и файлы хоста для настройки поведения контейнера.
docker_generic-image_directory_volumes
и docker_generic-image_file_volumes
— это две переменные для управления монтированием объемов.
Если вы хотите настроить монтирование, следуйте формату <директория хоста>:<директория контейнера>:<режим монтирования>
,
чтобы обеспечить корректное создание директорий хоста перед запуском контейнеров.
Чтобы настроить монтирование файлов хоста, обновите docker_generic-image_file_volumes
.
Эта роль автоматически создаст родительские директории для файлов и скопирует шаблон
на машину хоста. Конвенция именования для шаблона — <имя_файла_хоста>.<расширение_файла_хоста>.j2
.
Чтобы скопировать шаблон из ваших собственных директория Ansible, задайте docker_generic-image_template_path
.
Пример конфигурации:
docker_container_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_container_template_path: /path/to/ansible/project/templates/
# Убедитесь, что файл /path/to/ansible/project/templates/settings.conf.j2 существует.
Дополнительные ссылки
Лицензия
Информация об авторе
- wangsha
ansible-galaxy install wangsha.docker-generic-image