turkenh.provision_docker

ビルドステータス

provision_docker

Ansibleの役割で、プレイで使用される各インベントリホストのためにDockerコンテナを作成して開始します。テストに便利です。

provision_dockerを使用してロールをテストする方法についてのブログ記事

推奨されるDockerイメージ:

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

注意: 上記のイメージDockerfilesは、initシステムとopensshを実行するように設計されています。

サンプルプレイブック

Travis-CIでのテスト

トラビスCIを使用してロールをテストする方法については、.travis.ymlを確認してください。

Mac OS X + docker-machine + VirtualBox

provision_dockerは、コンテナにSSH接続できることに依存しています。したがって、コンテナのIPにアクセスできる必要があります(ルートが存在する必要があります)。OS XでDocker Toolboxを使用している場合、VirtualBoxコンテナはホストにルーティングされません。ゲストVM内のコンテナにルートを追加するには、以下のコマンドを実行します。

/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
ダウンロード
79
所有者