Я снова застрял.Мне нужно подготовить среду с несколькими компьютерами - одну виртуальную машину для приложения Sinatra и другую для его базы данных PostgreSQL.
До сих пор мне удалось запустить и запустить приложение Sinatra в окне ubuntu / xenial64, но инициализация «ломается», когда он попадает в конфигурацию для БД
Vagrant.configure("2") do |config|
config.vm.define "app" do |app|
# Use ubuntu/xenial64 as the virtual machine
app.vm.box = "ubuntu/xenial64"
# Use a private network to connect the VM to the local machine via an IP with an alias
app.vm.network "private_network", ip: "192.168.10.100"
app.hostsupdater.aliases = ["development.local"]
# sync the 'app' directory in the local directory to '/app' on the VM
app.vm.synced_folder "app", "/app"
# Use the provisioning script in envirnonment to provision the VM for a Sinatra environment
app.vm.provision "shell", path: "environment/app/provision.sh"
app.vm.provision "shell", inline: set_env({ DATABASE_URL: "postgresql://myapp:dbpass@localhost:15432/myapp" })
end
config.vm.define "db" do |db|
db.vm.box = "ubuntu/trusty64"
db.vm.host_name = "postgresql"
db.vm.network "private_network", ip: "10.0.2.15"
# db.vm.forward_port 8000, 8000
db.hostsupdater.aliases = ["database.local"]
# db.vm.share_folder "home", "/home/vagrant", ".", :create => true
db.vm.provision "shell", path: "environment/db/provision.sh", privileged: false
end
end
Как вы, наверное, догадались, я запускаю внешний сценарий инициализации для установки PG.Странно то, что я использую скрипт, рекомендованный с собственного сайта Postgres здесь .
В отдельном месте я клонировал этот репозиторий и следовал инструкциям, и он работает абсолютно нормально, создавая правильно подготовленную виртуальную машину с установленной PG.
Однако я хочу запустить одну команду vagrant up
и правильно настроить приложение и базу данных, чтобы они общались друг с другом.
Я (совершенно ясно) новичок в обеспечении и DevOps в целом, поэтому буду очень признателен за помощь.
Я загрузил мой смешно испорченный код здесь для вас, добрые души, чтобы посмотреть, если вы так склонны.
Бродячая документация на Multi-машинах довольно тонкая иGoogle не особо помогает
Спасибо!