防止 Vagrant 挂载共享文件夹

防止 Vagrant 挂载共享文件夹

我正在尝试使用在 Windows 主机上运行 VirtualBox 的 Vagrant Docker 提供程序。但我无法登录,因为它要求输入 SMB 用户名/密码。我试过了禁用同步文件夹如下所示。

config.vm.synced_folder ".", "/vagrant", disabled: true

我还尝试使用类型“virtualbox”,当我在 CentOS 中使用 VB 提供程序时,它可以正常工作,但我认为您需要添加客户机,当我使用 vagrant-vbguest 插件时,我收到错误。它抱怨缺少目录,这可能与 boot2docker 映像上的目录结构有关。

mkdir:无法创建目录“/tmp/selfgz117312639”:没有此文件或目录

无法创建目标目录 /tmp/selfgz117312639

这是我的配置,我从几个来源拼凑起来。请注意,需要 DockerHostVagrantfile 来绕过内核恐慌

# Dockerfile
FROM rockylinux/rockylinux:9.0.20220712 #phusion/baseimage
RUN rm -f /etc/service/sshd/down
RUN /etc/my_init.d/00_regen_ssh_host_keys.sh
RUN /usr/sbin/enable_insecure_key
# Vagrantfile
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'
Vagrant.configure("2") do |config|
  config.vm.define "DockerTest"
  config.ssh.private_key_path = "insecure_key"
  config.vm.provider "docker" do |d|
    d.name = "DockerTest"
    d.build_dir = "."
    d.force_host_vm = true
    d.has_ssh = true
    d.remains_running = true
    d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
    d.vagrant_machine = "default"
    d.vagrant_vagrantfile = "./DockerHostVagrantfile"
  end
end


# DockerHostVagrantfile
Vagrant.configure("2") do |config|
  config.vm.provision "docker"
  config.vm.define "default"
  config.vm.box = "hashicorp/boot2docker"
  config.vbguest.auto_update = false
  config.vm.synced_folder ".", "/vagrant", disabled: true#, type: "virtualbox"
  config.vm.network "private_network", ip: "192.168.1.2"
  config.vm.provider :virtualbox do |vb|
      vb.name = "default"
      vb.cpus = 2
      vb.memory = 2048
  end
end

相关内容