windows - 提供程序“docker”上的 Win10 上的 Vagrant 2.2 错误
问题描述
设置 :
- 流浪者 2.20
- 虚拟盒子 5.2.20
由于stackoverflow我重新安装了 vagrant 。
我的 Vagrantfile (例如来自https://github.com/bubenkoff/vagrant-docker-example.git):
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
#Check if you have the good Vagrant version to use docker provider...
Vagrant.require_version ">= 1.6.0"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'
config.vm.provider "docker" do |d|
d.build_dir = "."
d.has_ssh = true
end
config.ssh.port = 22
end
出现以下错误:
C:\Users\<Snip ...>\vagrant-docker-example>vagrant up
Bringing machine 'default' up with 'docker' provider...
The executable 'docker' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.
据我了解,vagrant 会自动设置启用 Docker 的主机 VM。我是否必须为此在 Windows 中手动安装 docker?
谢谢您的帮助!
解决方案
如果你将 Vagrant 的提供者设置为docker
,它将尝试启动一个 Docker 容器并在那里进行设置。你确实需要已经安装了 Docker。
如果您正在寻找安装了 Docker 的(Linux?)VM,那么您需要使用面向 VM 的提供程序,如virtualbox
,并在您的配置步骤中,确保安装 Docker。在这种情况下,您需要主机上的虚拟化软件,但您不需要安装 Docker。
推荐阅读
- kubernetes - 如何在 GKE 中添加与 Internet 不同的默认路由并使集群仍然工作?
- html - 为什么这些 HTML 列标题未对齐?
- r - 用于对重叠集的结果求和的 R 数据透视表?
- postgresql - 如何在 typeorm 中使用 postgres `array_agg`?
- java - 从 JSONObject 获取“id”的最短方法
- python - 替换值并获取“SettingWithCopyWarning:试图在 DataFrame 中的切片副本上设置值”
- ansible - 人们通常如何处理记录直到循环而不在控制台/或 ansible 主日志上生成太多日志记录?
- java - UnknownHostException:从 Jedis 切换到 Redisson 后 6 次查询后无法解析“my-redis-host”
- javascript - 在每个组件上调用的用户 api
- machine-code - 如何查看和编辑例如图像文件的机器代码?