ansibleでdockerコンテナを作成する場合、docker_serviceを使う方法などいくつか方法がありますが、そのひとつにansible-containerを使ってdockerコンテナを作成する方法があったので試しました。
環境
- docker for mac
- ansible-container 0.9.2(0.9.1はうまくいかないので注意)
ansible-containerのインストール
$ pip install ansible-container[docker]
ソースコード
作成するのは以下のファイルです。
- container.yml
container.yml
version: "2"
settings:
conductor_base: centos:7
services:
db:
from: "mysql:latest"
ports:
- "13306:3306"
environment:
MYSQL_MAJOR: 5.7
MYSQL_VERSION: 5.7.17
MYSQL_DATABASE: sample
MYSQL_USER: sample
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
registries: {}
実行
$ ansible-container build
$ ansible-container run
確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ansible-container-mac-conductor latest 857cec771999 6 minutes ago 445MB
mysql latest b4e78b89b999 6 days ago 412MB
ansible/container-conductor-centos-7 0.9.2 3d2f4f23d999 9 days ago 445MB
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b22d184d3999 mysql:latest "docker-entrypoint..." 4 minutes ago Up 4 minutes 0.0.0.0:13306->3306/tcp ansiblecontainermac_db_1
これでdocker上にコンテナが立ち上がっていることを確認できました。