アドカレ登録用にQiitaアカウントを作ったので、せっかくなので初のQiita投稿。
master-slave構成のDBのテストで、取り急ぎ対応したかった所ができたのでメモ。
前置き
かなりダーティハックっぽいので、kitchen-docker
の今後のアップデートで使えなくなったりする可能性があるので注意してください。
kitchen-docker本体にコンテナ間接続対応で投げたプルリクエストが採用されました。
instance_name
及びlinks
のオプションを指定することで接続ができます。
https://github.com/portertech/kitchen-docker#instance_name
https://github.com/portertech/kitchen-docker#links
なお、Dockerコンテナ同士の接続についてはコチラを参考にしました。
方法
まず、kitchen-docker
には、ホストからのポートフォワード用に、コンテナごとに指定できるforward
というdriver_config
が用意されています(以下参照)
これに、コンテナ同士の接続オプションを突っ込みます。
以下はのような感じです。
---
driver:
name: docker
driver_config:
use_sudo: false
platforms:
- name: centos-6.5
suites:
- name: master
driver_config:
forward:
- 13306:3306 --name master
run_list:
- recipe[hoge::master]
attributes:
- name: slave
driver_config:
forward:
- 23306:3306 --name slave --link master:master
run_lis
- recipe[hoge::slave]
attributes:
hoge:
master_host: master
busser:
sudo: true
これで、とりあえず、master-slave構成とかクラスタ構成のテストが捗ります。