gpt4 book ai didi

macos - Vagrant 在 Vagrantfile 中找不到主机操作系统上的文件

转载 作者:行者123 更新时间:2023-12-04 19:06:11 24 4
gpt4 key购买 nike

我试图在 Vagrantfile 中引用主机操作系统上的文件并设置环境变量。
但是,Vagrant 似乎无法找到该文件。
当引用与 Vagrantfile 位于同一目录中的文件时,一切正常。
1. Vagrantfile中Vagrant可以访问的文件是否仅限于VM目录?
2.是否可以在Vagrantfile中引用VM目录之外的文件(test1,test2,test3...)? (例如/Users/hoge/vagrant/key.json)
我的项目和 Vagrantfile 如下。

/Users/hoge
/vagrant
- key.json

/test1
- Vagrantfile
- provision.sh
- /workspace

/test2
...

/test3
...

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "ubuntu/bionic64"

# Directory ./workspace needs to be made in advance, or error occurs.
config.vm.synced_folder "./workspace", "/home/vagrant/workspace"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = false

# Customize the number of cpus on the VM:
vb.cpus = "2"

# Customize the amount of memory on the VM:
vb.memory = "2048"

vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
#
# View the documentation for the provider you are using for more
# information on available options.

# Enable provisioning with a shell script. Additional provisioners such as
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
# documentation for more information about their specific syntax and use.

config.vm.provision "shell", path: "./provision.sh", env: {"CLIENT_SECRET" => "$(base64 /Users/hoge/vagrant/key.json)"}
end
主机操作系统:MacOS Big Sur 11.5.1
guest 操作系统:Ubuntu 18.04 LTS(ubuntu/bionic64)
Vagrant 2.2.17
虚拟机 6.1.26

最佳答案

配置程序不在主机上执行,而是在虚拟机上运行(这就是为什么当您在 Vagrantfile 所在的 vagrant 目录中有文件时它会运行,因为该目录会自动与虚拟机上的 /vagrant 共享。
如果您想将文件保留在原处,您应该添加 file provisioner在 VM 上复制 key 文件,然后运行 ​​shell 配置程序

关于macos - Vagrant 在 Vagrantfile 中找不到主机操作系统上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68980104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com