provision_docker

Статус сборки

provision_docker

Роль Ansible, используемая для создания и запуска docker-контейнеров для каждого хоста в инвентаре, используемого в плей. Полезно для тестирования.

Блог-пост о том, как использовать provision_docker для тестирования ролей.

Рекомендуемые образы Docker.

chrismeyers/centos6
chrismeyers/centos7
chrismeyers/ubuntu12.04
ubuntu-upstart:14.04

Примечание: Указанные выше образы Dockerfiles предназначены для работы систем и openssh.

Пример плейбука

Тестирование с Travis-CI

Посмотрите на .travis.yml, чтобы узнать, как тестировать свою роль с помощью travis-ci.

Mac OS X + docker-machine + VirtualBox

provision_docker зависит от возможности подключаться к контейнерам через ssh. Поэтому IP-адрес контейнера должен быть доступен (должен существовать маршрут). Если вы используете docker toolbox на OS X + virtualbox, контейнеры не маршрутизируются к хосту. Выполните следующие команды, чтобы добавить маршрут к контейнерам в виртуальной машине.

/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0
sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip)

Маршрут не сохраняется после перезагрузки. Чтобы сохранить изменения, отредактируйте файл /Library/LaunchDaemons/com.docker.route.plist.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plist version='1.0'>
<dict>
  <key>Label</key>
  <string>com.docker.route</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <!-- Вам нужно адаптировать vboxnet0 к интерфейсу, который подходит вашей конфигурации, используйте ifconfig для его нахождения -->
    <string>/usr/sbin/scutil -w State:/Network/Interface/vboxnet0/IPv4 -t 0;sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway 192.168.99.100</string>
  </array>
  <key>KeepAlive</key>
  <false/>
  <key>RunAtLoad</key>
  <true/>
  <key>LaunchOnlyOnce</key>
  <true/>
</dict>
</plist>

Mac OS X + docker-machine + VMware Fusion

sudo /sbin/route -n add -net 172.17.0.0 -netmask 255.255.0.0 -gateway $(docker-machine ip default)

Похожие работы

О проекте

Provision docker containers using inventory.

Установить
ansible-galaxy install turkenh/provision_docker
Лицензия
Unknown
Загрузки
67
Владелец