[やってみた]Ansible Controllerをdockerコンテナで作成
背景・目的・目標
コンテナ内でAnsibleを実行し、他PC等へ接続する
参考サイト
AnsibleとDocker Composeの相性問題に気づいた話
Ansible Documentation
手順
※あらかじめDocker、Docker-composeがインストールされていることを前提としています
Docker
Docker関連のファイルは以下の構成です。
./ansible/
├── docker
│ └── ansible
│ └── Dockerfile
└── docker-compose.yml
docker-compose.yml
version: '2'
services:
ansible:
container_name: 'ansible'
image: ansible/ansible
build:
context: ./
dockerfile: ./docker/ansible/Dockerfile
tty: true
volumes:
- /home/xxxxx/xxxxx/volumes/ansible:/ansible
environment:
- sample=hoehoehoe
docker/ansible/Dockerfile
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install -y ansible
マウントファイル
コンテナにマウントするファイル等は上記Docker関連ファイルとは別の場所で管理。
以下の構成です。
./volumes/ansible/
├── inventory
├── main.yml
└── roles
└── ping
└── tasks
└── main.yml
inventory
[srv]
xxx.xxx.xxx.xxx
[srv:vars]
ansible_user=xxxxx
ansible_port=22
main.yml
- hosts: srv
become: yes
roles:
- ping
roles/ping/tasks/main.yml
- ping:
data: test
動作確認
$ docker-compose up -d
$ docker-compose ps
Name Command State Ports
-----------------------------------
ansible /bin/bash Up
$ docker-compose exec ansible /bin/bash
# cd /ansible
# ansible-playbook -kK -i inventory main.yml
SSH password:
SUDO password[defaults to SSH password]:
PLAY [srv] ****************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************
ok: [xxx.xxx.xxx.xxx]
TASK [ping : ping] ********************************************************************************************************
ok: [xxx.xxx.xxx.xxx]
PLAY RECAP ****************************************************************************************************************
xxx.xxx.xxx.xxx : ok=2 changed=0 unreachable=0 failed=0
Author And Source
この問題について([やってみた]Ansible Controllerをdockerコンテナで作成), 我々は、より多くの情報をここで見つけました https://qiita.com/class2glass/items/b36c6e3296aedc748783著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .