Hashicorp Packer 不会在 Windows 主机上执行 packer-provisioner-shell
Hashicorp Packer won't execute packer-provisioner-shell on Windows host
这是我的第一个问题。我尝试遵循所有准则。
我正在尝试使用 Packer 创建 Debian 8 的 Vagrant 映像。如果我 运行 一个仅使用 "builders" 模板的打包程序构建,它将成功执行并生成一个 Virtualbox 映像.当我尝试添加 "provisioners" and/or "post-processers" 模板时,我开始出错。该错误在大约 10 秒内发生。它不会 运行 生成器。错误信息是:
ui error: Failed to initialize build 'virtualbox-iso': error initializing provisioner 'shell': dial tcp 127.0.0.1:10000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
我已经为此工作了几天。我有:
- 搜索 Google 错误文本
- 通读一些 Packer 源代码(以为我不熟悉 Go)
- 使用 Packer.io
的全新下载重新安装了 Packer
- 确保文件未被阻止
- 作为我的默认用户和管理员执行
- 使用 Git Bash 而不是 cmd.exe
- 从 Powershell 执行
- 使用了 Atlas 提供的 atlas-packer-vagrant-tutorial。它将建立在 Atlas 之上,而不是本地。
我的 Packer 模板文件:
{
"provisioners": [{
"type": "shell",
"scripts": [
"scripts/vagrant.sh"
],
"override": {
"virtualbox-iso": {
"execute_command": "echo 'vagrant' | sudo -S bash '{{.Path}}'"
}
}
}],
"builders": [{
"type": "virtualbox-iso",
"guest_os_type": "Debian_64",
"iso_url": "http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-CD-1.iso",
"iso_checksum": "234bd43d85974299d501f370ac3e7592b98832d98f82be3aff190ff3af831f8cd7574a75f4c9b36c347f138e82ccb40ff3746a4c94e7d59e4ee711e0c96dbf1d",
"iso_checksum_type": "sha512",
"ssh_username": "vagrant",
"ssh_password": "vagrant",
"ssh_wait_timeout": "120m",
"shutdown_command": "echo 'vagrant' | sudo -S shutdown -h now",
"disk_size": "20480",
"http_directory": "http",
"boot_command": [
"<esc><wait>",
"auto url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"<enter>"
],
"vboxmanage": [
["modifyvm", "{{.Name}}", "--memory", "4096"],
["modifyvm", "{{.Name}}", "--cpus", "2"]
]
}],
"post-processors": ["vagrant"]
}
我没有足够的信誉来添加额外的链接。 TCP 查看输出:
packer-provisioner-shell.exe 3940 TCP 127.0.0.1 10000 0.0.0.0 0 LISTENING
packer-builder-virtualbox-iso.exe 11284 TCP 127.0.0.1 10000 127.0.0.1 49568 ESTABLISHED
packer.exe 12180 TCP 127.0.0.1 49568 127.0.0.1 10000 ESTABLISHED
packer.exe 12180 TCP 127.0.0.1 49571 127.0.0.1 10000 SYN_SENT
系统信息:
- Windows 7 Pro SP1(64 位)
- 打包机 0.8.6
我的完整代码在 Github repo
我的完整错误登录在此Gist
感谢您提供的任何帮助。
我在 windows 主机上的加壳器有一些类似的问题,但我可以正确构建(流浪者中的配置错误都是一样的)。
但是您可以使用或比较另一个对我来说正确的 运行 项目打包器和您的项目。也许找到解决或理解其他概念的方法可以帮助您:packer ubuntu project
正如 Gregory Nisbet 所指出的,这是一个防火墙问题。我停止了所有 McAfee 服务,并且能够继续。
这是我的第一个问题。我尝试遵循所有准则。
我正在尝试使用 Packer 创建 Debian 8 的 Vagrant 映像。如果我 运行 一个仅使用 "builders" 模板的打包程序构建,它将成功执行并生成一个 Virtualbox 映像.当我尝试添加 "provisioners" and/or "post-processers" 模板时,我开始出错。该错误在大约 10 秒内发生。它不会 运行 生成器。错误信息是:
ui error: Failed to initialize build 'virtualbox-iso': error initializing provisioner 'shell': dial tcp 127.0.0.1:10000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
我已经为此工作了几天。我有:
- 搜索 Google 错误文本
- 通读一些 Packer 源代码(以为我不熟悉 Go)
- 使用 Packer.io 的全新下载重新安装了 Packer
- 确保文件未被阻止
- 作为我的默认用户和管理员执行
- 使用 Git Bash 而不是 cmd.exe
- 从 Powershell 执行
- 使用了 Atlas 提供的 atlas-packer-vagrant-tutorial。它将建立在 Atlas 之上,而不是本地。
我的 Packer 模板文件:
{
"provisioners": [{
"type": "shell",
"scripts": [
"scripts/vagrant.sh"
],
"override": {
"virtualbox-iso": {
"execute_command": "echo 'vagrant' | sudo -S bash '{{.Path}}'"
}
}
}],
"builders": [{
"type": "virtualbox-iso",
"guest_os_type": "Debian_64",
"iso_url": "http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-CD-1.iso",
"iso_checksum": "234bd43d85974299d501f370ac3e7592b98832d98f82be3aff190ff3af831f8cd7574a75f4c9b36c347f138e82ccb40ff3746a4c94e7d59e4ee711e0c96dbf1d",
"iso_checksum_type": "sha512",
"ssh_username": "vagrant",
"ssh_password": "vagrant",
"ssh_wait_timeout": "120m",
"shutdown_command": "echo 'vagrant' | sudo -S shutdown -h now",
"disk_size": "20480",
"http_directory": "http",
"boot_command": [
"<esc><wait>",
"auto url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"<enter>"
],
"vboxmanage": [
["modifyvm", "{{.Name}}", "--memory", "4096"],
["modifyvm", "{{.Name}}", "--cpus", "2"]
]
}],
"post-processors": ["vagrant"]
}
我没有足够的信誉来添加额外的链接。 TCP 查看输出:
packer-provisioner-shell.exe 3940 TCP 127.0.0.1 10000 0.0.0.0 0 LISTENING
packer-builder-virtualbox-iso.exe 11284 TCP 127.0.0.1 10000 127.0.0.1 49568 ESTABLISHED
packer.exe 12180 TCP 127.0.0.1 49568 127.0.0.1 10000 ESTABLISHED
packer.exe 12180 TCP 127.0.0.1 49571 127.0.0.1 10000 SYN_SENT
系统信息:
- Windows 7 Pro SP1(64 位)
- 打包机 0.8.6
我的完整代码在 Github repo
我的完整错误登录在此Gist
感谢您提供的任何帮助。
我在 windows 主机上的加壳器有一些类似的问题,但我可以正确构建(流浪者中的配置错误都是一样的)。
但是您可以使用或比较另一个对我来说正确的 运行 项目打包器和您的项目。也许找到解决或理解其他概念的方法可以帮助您:packer ubuntu project
正如 Gregory Nisbet 所指出的,这是一个防火墙问题。我停止了所有 McAfee 服务,并且能够继续。