방랑과 함께 지어진 환경이 있습니다. 기본적으로 데이터베이스 VM 및 웹 서버 VM (둘 다 Ubuntu 서버 14.04). 웹 서버가 프로비저닝이 끝나면 데이터베이스 VM에서 일부 마이그레이션 (데이터베이스 변경)을 실행하고 싶습니다. 문제는 내 django App이 IP가 아닌 데이터베이스 서버의 이름으로 구성된다는 것입니다. 어쨌든 웹 서버 VM이 명시 적으로 IP를 설정할 필요없이 데이터베이스 VM을 볼 수있게 할 수 있습니까?방랑자 : 하나의 VM이 이름별로 다른 VM을 찾는 방법
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.define "db" do |db|
db.vm.box = "ubuntu/trusty64"
db.vm.hostname = 'db'
# Notice the IP is fixed. I rather not want to do it this way
db.vm.network "public_network", ip: "192.168.1.147", bridge: "wlan0"
db.vm.provider "virtualbox" do |vb|
vb.memory = "512"
vb.cpus = 1
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook_db.yml"
end
end
config.vm.define "web" do |web|
web.vm.box = "ubuntu/trusty64"
web.vm.hostname = 'web'
web.vm.network "forwarded_port", guest: 8000, host: 8000
web.vm.provider "virtualbox" do |vb|
vb.memory = "512"
vb.cpus = 1
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook_web.yml"
end
end
end
playbook_web.yml
---
- hosts: web
sudo: yes
tasks:
...
- name: Adding DNS resolution for 'database' ...
shell: sed -i '1 i\192.168.1.147 database' /etc/hosts
...