作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 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
最佳答案
配置程序不在主机上执行,而是在虚拟机上运行(这就是为什么当您在 Vagrantfile 所在的 vagrant 目录中有文件时它会运行,因为该目录会自动与虚拟机上的 /vagrant
共享。
如果您想将文件保留在原处,您应该添加 file provisioner在 VM 上复制 key 文件,然后运行 shell 配置程序
关于macos - Vagrant 在 Vagrantfile 中找不到主机操作系统上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68980104/
我试图让我的 dc/os 1.8 docker 容器通过使用 logstash 服务的服务地址将日志消息发送到也在 dc/os 中运行的 logstash。 这似乎不起作用,因为 docker 会抛出
我正在处理一个包含许多 native 模块的大型项目,我想介绍 C++ 代码的单元测试,这些单元测试与 Java JUnit 本地运行一样简单/快速(即在主机操作系统上运行,未检测) ) 测试。 我关
我是一名优秀的程序员,十分优秀!