ansibleのlocalでの開発環境といえばvagrant+virtualboxですが、dockerでいいんじゃねぇの?と思って色々試行錯誤してみました。何度も挫けて、もう駄目かと思いましたけど、幾つもの山を越え、ついに出来ましたですよ!
```yaml: playbooks/docker.yml
- hosts: localhost
connection: local
gather_facts: no
vars:
ansible_python_interpreter: /Users/ryo-umetsu/.anyenv/envs/pyenv/shims/python
# ansible_python_interpreter: /usr/bin/python3
tasks:
- name: deploy amazonlinux docker
docker_container:
image: amazonlinux
name: eiger-local
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
ports: 57017:27017
expose: 57017
tty: yes
detach: yes
privileged: yes
# capabilities:
# - SYS_ADMIN
# sysctl:
# vm.swappiness: 1
command: sh -c 'yum -y install procps systemd-sysv file && exec /sbin/init && systemctl restart'
- name: adding host
add_host: name="eiger-local"
- name: wait
wait_for:
delay: 10
timeout: 10
- hosts: eiger-local
connection: docker
vars:
setup_mongodb_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
39356533306331333763353433363335343961653335373762623630653361623034646232633837
6164306666656436653636643333363261646662356666640a636462346635323164633365376637
39303832396638336664653439326536386235323262303733653563653766353263623032386538
3135623166613363630a343734666666323830663838653962663032386337626635396563383230
6266
# setup_mongodb_password: "test"
ansible_python_interpreter: /usr/bin/python
roles:
- role: "../roles/create_data_directory"
- role: "../roles/setup_mongodb"
- role: "../roles/configure_logrotate"
- role: "../roles/configure_swap"