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