CentOS7のDockerイメージを取得
$ docker pull centos:centos7
centos7: Pulling from library/centos
a02a4930cb5d: Pull complete
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:centos7
イメージが取得できました。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7 1e1148e4cc2c 2 months ago 202MB
コンテナを作成して起動する
$ docker run -it -d --name ansible centos:centos7
7e7004684726b5e5cb2269c39a4ae0c727f723c74a9ea4ccdecc40bf6b2fc716
正常に起動しています。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7e7004684726 centos:centos7 "/bin/bash" 46 seconds ago Up 44 seconds ansible
コンテナに入る
$ docker exec -it ansible /bin/bash
[root@7e7004684726 /]#
sshをインストール
[root@7e7004684726 /]# yum install -y openssh-server openssh-clients sshpass
pywinrmをインストール
AnsibleでWindowsを操作するにはpywinrmが必要です。
まずはpythonのバージョンを確認。
[root@7e7004684726 /]# python --version
Python 2.7.5
Python 2.7.5はpipが付属していないので、以下のコマンドでpipをインストールします。
[root@7e7004684726 /]# curl https://bootstrap.pypa.io/get-pip.py | python
[root@7e7004684726 /]# pip --version
pip 19.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)
最新版のpipがインストールできたので、pywinrmをインストールします。
[root@7e7004684726 /]# pip install pywinrm
[root@7e7004684726 /]# pip list | grep pywinrm
pywinrm 0.3.0
Ansibleをインストール
[root@7e7004684726 /]# yum install -y epel-release
[root@7e7004684726 /]# yum install -y ansible
[root@7e7004684726 /]# ansible --version
ansible 2.7.6
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
Windowsを操作できるAnsibleコンテナが完成しました!