export PYTHONUNBUFFERED=true
cd /vagrant/provisioning
ansible-playbook lxc_host.yml
中村 弘輝 (なかむら ひろあき)
最近やっていること
RAM 4GBのノートPCでVagrantで複数VMを同時起動するのはつらかったから
Macで使う場合もMac側にAnsibleインストール不要という利点がある
Ansibleインストール後Vagrant上のLinuxでAnsibleを実行
PYTHONUNBUFFERED 環境変数を true にしておくexport PYTHONUNBUFFERED=true
cd /vagrant/provisioning
ansible-playbook lxc_host.yml
依存コンポーネントとして https://github.com/lxc/python2-lxc が必要
Ansibleでコンテナに接続するにはコンテナ名を指定 (IPアドレス不要)
lxc-ls --active を使ったスクリプトでDynamic Inventoryを実現lxc-ls --fancy でコンテナのIPアドレスが取得可能lxc-ls は --fancy が使えないlxc-attach でコンテナ上で ip コマンドを実行してIPアドレスを取得lxc-attach -n {{ container_name }} -- ip a show eth0 | awk '$1=="inet" {sub(/\/[0-9]+/, ""); print $2}'
なお、その後客先指定がlxcからdockerに変わったので実運用はしていません、あしからず。
dockerでも似たような構成(2つのunicornコンテナ + 1つのMySQLコンテナ)を作成中です。 https://github.com/hnakamur/vagrant-docker-rails-development-example