根据the PostgreSQL wiki,我将预装了PostgreSQL的a vagrant file克隆到我的硬盘上。
我现在正在尝试将它与我编写的.py和.sql文件结合使用。 Vagrant文档表明,一旦我完成cd
和/vagrant
,我就能vagrant up
直接进入名为vagrant ssh
的文件夹,但每当我尝试这样做时,我都会以下错误消息:
-bash: cd: /vagrant: No such file or directory
我假设它是我Vagrantfile
内的东西。 Vagrant文档说这种行为应该默认发生,但我在额外的行中添加了:
config.vm.synced_folder ".", "/vagrant"
但那没有做任何事。
所以我想知道如何访问我的/vagrant
共享/同步文件夹。你能帮忙吗?
答案 0 :(得分:1)
来自https://github.com/jackdb/pg-app-dev-vm的Vagrantfile看起来有点陈旧,但仍然有版本1语法 -
您可以在版本2语法部分中添加缺少的文件夹,因此Vagrantfile就像
一样# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
echo I am provisioning...
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script
config.vm.synced_folder ".", "/vagrant"
end
Vagrant::Config.run do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "https://atlas.hashicorp.com/ubuntu/boxes/trusty64"
config.vm.host_name = "postgresql"
config.vm.share_folder "bootstrap", "/mnt/bootstrap", ".", :create => true
config.vm.provision :shell, :path => "Vagrant-setup/bootstrap.sh"
# PostgreSQL Server port forwarding
config.vm.forward_port 5432, 15432
end
最好是使用version2语法(syntax1已经过时几年了) - 以下内容将起作用
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
echo I am provisioning...
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "https://atlas.hashicorp.com/ubuntu/boxes/trusty64"
config.vm.host_name = "postgresql"
config.vm.synced_folder ".", "/mnt/bootstrap"
config.vm.provision :shell, :path => "Vagrant-setup/bootstrap.sh"
# PostgreSQL Server port forwarding
config.vm.network "forwarded_port", guest: 5432, host: 15432
end
使用此功能,您无需在默认情况下在此处指定/vagrant
共享文件夹