Docker で Ansible サーバーを用意する
はじめに
こんにちは。Gustavです。
epel-release をインストールしておけば yum で簡単にインストールできる Ansible ですが、あえて Docker イメージを作成することにしました。
Dockerfile
これです。
branch でバージョン毎に作成するようにしています。
github.com
(たぶん)最小限のインストールになっているかと思います。
※利用する Ansible モジュールによっては pip モジュールが不足する可能性があります。
build image
git clone して、イメージを作成します。
[root@docker ~]# git clone https://github.com/g40244/docker-ansible.git -b ansibleX.X [root@docker ~]# cd docker-ansible [root@docker docker-ansible]# docker build --no-cache -t centos:ansibleX.X .
let's ansible
イメージが作成できたら、コンテナを起動するだけです。
Playbook を配置するため、-v オプションを使って Docker ホストのディレクトリをマウントしておくことをお勧めします。
[root@docker docker-ansible]# docker run -ith ansible --name ansibleX.X -v /root/ansible:/root/playbooks centos:ansibleX.X /bin/bash [root@ansible ~]#
コンテナが起動したら、localhost へ ping を実行してみましょう。
"inventory"なんてファイルはありませんし、たくさん WARNING は出ますが "pong" が表示されれば問題ありません。
[root@ansible ~]# ansible -i inventory -m ping localhost localhost | SUCCESS => { "ping": "pong" } [root@ansible ~]#
Enjoy Ansible !!