使用当前的打包程序源版本
使用docker 1.3.3的工作场景:
2014/12/12 15:49:51 packer-builder-docker: 2014/12/12 15:49:51 Running the provision hook
1418399391,,ui,message, docker: Container ID: b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982
2014/12/12 15:49:51 packer-provisioner-shell: 2014/12/12 15:49:51 Opening /tmp/packer-shell648686173 for reading
2014/12/12 15:49:51 packer-provisioner-shell: 2014/12/12 15:49:51 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:49:51 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:49:51 packer-builder-docker: 2014/12/12 15:49:51 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(cp /packer-files/upload080199707 /tmp/script.sh) >/packer-files/cmd466238654 2>&1; echo $? >/packer-files/cmd466238654-exit"
1418399391,,ui,say,==> docker: Provisioning with shell script: /tmp/packer-shell648686173
2014/12/12 15:49:53 packer-builder-docker: 2014/12/12 15:49:53 Waiting for exit code to appear for remote command...
2014/12/12 15:49:53 packer-builder-docker: 2014/12/12 15:49:53 Executed command exit status: 0
2014/12/12 15:49:55 packer-builder-docker: 2014/12/12 15:49:55 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(chmod 0777 /tmp/script.sh) >/packer-files/cmd678804741 2>&1; echo $? >/packer-files/cmd678804741-exit"
2014/12/12 15:49:57 packer-builder-docker: 2014/12/12 15:49:57 Waiting for exit code to appear for remote command...
2014/12/12 15:49:57 packer-builder-docker: 2014/12/12 15:49:57 Executed command exit status: 0
2014/12/12 15:49:59 packer-builder-docker: 2014/12/12 15:49:59 [INFO] RPC endpoint: Communicator ended with: 0
2014/12/12 15:49:59 [INFO] RPC client: Communicator ended with: 0
2014/12/12 15:49:59 [INFO] RPC endpoint: Communicator ended with: 0
2014/12/12 15:49:59 packer-provisioner-shell: 2014/12/12 15:49:59 [INFO] RPC client: Communicator ended with: 0
2014/12/12 15:49:59 packer-builder-docker: 2014/12/12 15:49:59 Executing in container b0117b8cbffd154539242acb24666f703b78ff22ef782e0d03cc768ba38db982: "(chmod +x /tmp/script.sh; PACKER_BUILD_NAME='docker' PACKER_BUILDER_TYPE='docker' /tmp/script.sh) >/packer-files/cmd838923936 2>&1; echo $? >/packer-files/cmd838923936-exit"
2014/12/12 15:50:01 packer-builder-docker: 2014/12/12 15:50:01 Waiting for exit code to appear for remote command...
2014/12/12 15:50:02 packer-builder-docker: 2014/12/12 15:50:02 Executed command exit status: 127
2014/12/12 15:50:03 packer-builder-docker: 2014/12/12 15:50:03 [INFO] RPC endpoint: Communicator ended with: 127
2014/12/12 15:50:03 [INFO] 0 bytes written for 'stderr'
2014/12/12 15:50:03 [INFO] RPC client: Communicator ended with: 127
2014/12/12 15:50:03 [INFO] 0 bytes written for 'stdout'
2014/12/12 15:50:03 [INFO] RPC endpoint: Communicator ended with: 127
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] 0 bytes written for 'stderr'
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] RPC client: Communicator ended with: 127
2014/12/12 15:50:03 packer-provisioner-shell: 2014/12/12 15:50:03 [INFO] 0 bytes written for 'stdout'
使用docker 1.4失败的场景:
1418398765,,ui,say,==> docker: Provisioning with shell script: /tmp/packer-shell348099556
2014/12/12 15:39:25 packer-provisioner-shell: 2014/12/12 15:39:25 Opening /tmp/packer-shell348099556 for reading
2014/12/12 15:39:25 packer-provisioner-shell: 2014/12/12 15:39:25 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:25 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:25 packer-builder-docker: 2014/12/12 15:39:25 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload431013147 /tmp/script.sh) >/packer-files/cmd669791166 2>&1; echo $? >/packer-files/cmd669791166-exit"
2014/12/12 15:39:27 packer-provisioner-shell: 2014/12/12 15:39:27 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:29 packer-provisioner-shell: 2014/12/12 15:39:29 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:29 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:29 packer-builder-docker: 2014/12/12 15:39:29 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload047296517 /tmp/script.sh) >/packer-files/cmd706862496 2>&1; echo $? >/packer-files/cmd706862496-exit"
2014/12/12 15:39:31 packer-provisioner-shell: 2014/12/12 15:39:31 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:33 packer-provisioner-shell: 2014/12/12 15:39:33 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:33 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:33 packer-builder-docker: 2014/12/12 15:39:33 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload033689215 /tmp/script.sh) >/packer-files/cmd209553362 2>&1; echo $? >/packer-files/cmd209553362-exit"
2014/12/12 15:39:35 packer-provisioner-shell: 2014/12/12 15:39:35 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:37 packer-provisioner-shell: 2014/12/12 15:39:37 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:37 [INFO] 109 bytes written for 'uploadData'
2014/12/12 15:39:37 packer-builder-docker: 2014/12/12 15:39:37 Executing in container ff13b288d87f7fa9d3c1e5ffeb810cc8fec6be80b1bd8eab21cc39a8e2b22336: "(cp /packer-files/upload479277833 /tmp/script.sh) >/packer-files/cmd622516948 2>&1; echo $? >/packer-files/cmd622516948-exit"
2014/12/12 15:39:39 packer-provisioner-shell: 2014/12/12 15:39:39 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
2014/12/12 15:39:41 packer-provisioner-shell: 2014/12/12 15:39:41 [INFO] 109 bytes written for 'uploadData'
只是一个跟进..当失败时,它使用的是最新的docker仓库中的docker 1.4.0。 我刚把它与修改后的Vagrantfile一起使用:
Vagrant.configure("2") do |config|
#config.vm.box = "phusion-open-ubuntu-14.04-amd64"
#config.vm.box_url = "https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box"
config.vm.box = "ubuntu"
config.vm.provider :virtualbox do |vb|
vb.name = 'packer-builder'
vb.customize ["modifyvm", :id, "--memory", "2048" ]
vb.customize ["modifyvm", :id, "--cpus", "2" ]
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty?
pkg_cmd = ""
#pkg_cmd << "wget -q -O - https://get.docker.io/gpg | apt-key add -; "
#pkg_cmd << "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list;"
pkg_cmd << "apt-get update -qq; apt-get install -q -y --force-yes docker.io bsdtar; "
pkg_cmd << "usermod -a -G docker vagrant; "
pkg_cmd << "cd /usr/bin; wget -qO- https://dl.bintray.com/mitchellh/packer/packer_0.7.5_linux_amd64.zip | bsdtar -pxvf-; "
pkg_cmd << "sudo chmod +x /usr/bin/packer*; "
config.vm.provision :shell, :inline => pkg_cmd
end
end
这将安装Docker 1.0.1 ...,并且可以与相同的Packer文件完美配合。
工作的Docker版本:
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
不工作:
Client version: 1.4.0
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 4595d4f
OS/Arch (client): linux/amd64
Server version: 1.4.0
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 4595d4f
好了,晚上做了最后的更新……看起来是Docker 1.4.0的问题。 Docker 1.3.3工作正常:
Client version: 1.3.3
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): d344625
OS/Arch (client): linux/amd64
Server version: 1.3.3
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): d344625
看起来是Docker 1.4.0的问题。 Docker 1.3.3工作正常:
是的,这也是我想出的结论
确认使用Docker 1.4.1时仍然存在问题
重新产生问题的json文件:
{
"builders": [
{
"type": "docker",
"image": "ubuntu:latest",
"pull": true,
"export_path": "docker-burn.tar"
}
],
"provisioners": [
{
"type": "shell",
"inline": [
"set -x",
"set -e",
"date"
]
}
]
}
:+1:在这里一样!
天真的修复将如下所示:
https://github.com/mariussturm/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97
这破坏了与Docker 1.3-的向后兼容性(没事,imo)
@mariussturm感谢您3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97。 chef-solo
预配器存在相关问题; 它运行的第一个命令(创建staging_directory
)将杀死容器,从而结束构建。 您的解决方案也可以解决该问题。
我也可以使用Docker 1.4.1确认这个问题
使用script元素时,我也遇到相同的问题(在使用inline
时报告在这里)。
因此,从本质上讲,现在无法使用带有任何Shell Provisioning的Packer构建docker v1.4.x映像。
错误是:
2014/12/25 12:21:30 packer-builder-docker: 2014/12/25 12:21:30 Executing in container 600d9cc40feaa99ee3f6b9ad6daf440dc79265abbbfa8676a45904463df1a353: "(cp /packer-files/upload674827840 /tmp/script.sh) >/packer-files/cmd940924575 2>&1; echo $? >/packer-files/cmd940924575-exit"
==> docker: Provisioning with shell script: /home/dl/testsourcedir/hello.sh
2014/12/25 12:21:32 packer-provisioner-shell: 2014/12/25 12:21:32 Retryable error: Error uploading script: Upload failed with non-zero exit status: 1
使用预配器配置,例如:
"provisioners" : [
{
"type" : "shell",
"script" : "{{pwd}}/testsourcedir/hello.sh"
}
],
和相应的简单shell脚本:
[dl<strong i="16">@localhost</strong> ~]$ cat testsourcedir/hello.sh
#!/bin/sh
echo "Hello"
+1,以及shell
预配置程序的script
变体。
+1
对于shell
供应者的inline
变体,该供应者对我来说失败了。
packer version
Packer v0.7.5
...
docker --version
Docker version 1.4.1, build 5bc2ff8
基于上面的评论(和@mariussturm的提交),我构建了一个虚拟箱盒,您可以将其与boot2docker一起使用,并且将marius的更改烘焙到了packer中。 这需要打包程序的源代码和@YungSang的源代码,以用于如何从boot2docker的iso中构建无业游民的盒子。 开源求救!
希望这对想要在无业游民中使用docker 1.4.1和packer的人有所帮助。
https://atlas.hashicorp.com/iansmith/boxes/boot2docker-plus-packer
啊! 刚遇到这个。 为我的项目准备的齿轮扳手。
我也遇到了这个问题。 当前的解决方法是什么? 将Docker降级到1.3.3?
我不得不将docker降级为1.3.3。 那是我目前的解决方法。
@vitorcoxta和@yanaga或者,您可以使用mariussturm建议的修复程序来重建自己的打包程序二进制版本:
https://github.com/mitchellh/packer/commit/3a286ab6bdba7b8e5bf6a43c357a0ffeacd3dc97
对于新的docker 1.5,由于此错误,看来我们仍然必须使用1.3.3:
是否有预计将其发布到新版本中的ETA? 0.76,也许?
:+1:
遇到以下问题:
Docker version 1.5.0, build a8a31ef
Packer v0.7.5
Boot2Docker-cli version: v1.5.0
Git commit: ccd9032
Darwin 13.4.0 Darwin Kernel Version 13.4.0: Wed Dec 17 19:05:52 PST 2014; root:xnu-2422.115.10~1/RELEASE_X86_64 x86_64
我创建了一个github存储库https://github.com/stefancocora/packer-issue1752-fix ,其中包含针对master分支构建的打包程序二进制文件( amd64
),其中修复了mariussturm
这个问题。
在打包程序维护人员合并此问题的修补程序并发布新版本时,可以使用我构建的二进制文件。
我构建的二进制文件对我来说是完美的,我添加了一种在上述github存储库中测试它们的方法,请参阅README.md
@stefancocora非常感谢您的资料库! 我可以确认该版本有效(在Fedora 21 / x86_64上,使用docker 1.5.0)。
我注意到使用exec
代替attach
件事:最好还使用-t
标志,以便分配tty和sudo
工具/etc/sudoers
具有Defaults requiretty
/etc/sudoers
)。
感谢您对@ankon进行测试,关于-t
好处,没有考虑。
我刚刚使用-t
标志创建了一个为docker编译的打包程序二进制文件。
不幸的是,它无法生成映像,我不知道是什么导致了该故障。
在没有-t
情况下将打包程序还原到补丁程序,我可以成功构建docker映像。
来自打包器构建的-t
错误输出
...
docker: Status: Image is up to date for devopsil/puppet:latest
==> docker: Starting docker container...
docker: Run command: docker run -v /tmp/packer-docker141026721:/packer-files -d -i -t devopsil/puppet /bin/bash
docker: Container ID: 72e09e8c029a7321143cac4baf012525e1a816e35770a1cc216327005caf1912
==> docker: Uploading ./modules => /tmp/modules
==> docker: Killing the container: 72e09e8c029a7321143cac4baf012525e1a816e35770a1cc216327005caf1912
Build 'docker' errored: Upload failed with non-zero exit status: 1
==> Some builds didn't complete successfully and had errors:
--> docker: Upload failed with non-zero exit status: 1
==> Builds finished but no artifacts were created.
您始终可以在sudoers文件中禁用requiretty
,这将使sudo正常工作。
@stefancocora如果您希望我可以通过分支提交PR,则为OSX编译了补丁。 现在,如果有人要他们在这里,他们就是。
@stefancocora您的存储库适用于
@chiefy不用担心PR,我希望linux
的构建以及osx
构建不需要很长时间。 我希望这很快会在上游打包程序代码中得到解决...
@stefancocora :+1:是的,我同意。
+1
我也看到了这个问题。
$ packer version
Packer v0.7.5
$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
+1从邮件列表:
https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp%2Fpacker / 14c1113f7041d655
你好
尽管此问题尚未解决,并且建议的补丁似乎可以正常工作,但为方便起见,我在此处将预构建的linux_x64版本推送到bintray。 这是当前主HEAD的构建,因为我无法在v0.7.5标签上构建。
我一直在研究一个相关的问题: https :
此补丁解决了最初的问题,但现在运行挂起
2015/03/17 13:17:47 packer-builder-docker:2015/03/17 13:17:47等待退出代码出现以用于远程命令...
我连接到容器并验证命令是否已运行,并且退出代码0已写入退出文件,但是构建从未进行。 我在Ubuntu14.04和CentOS6上看到Shell和Chef-solo设置程序都存在相同的问题。
Packer版本0.7.5使用来自Chiefy的修补二进制文件
使用Virtualbox驱动程序的docker-machine版本0.1.0
主机正在运行OSX 10.9.5
$泊坞窗版本
客户端版本:1.5.0
客户端API版本:1.17
Go版本(客户端):go1.4.1
Git提交(客户端):a8a31ef
操作系统/ Arch(客户端):darwin / amd64
服务器版本:1.5.0
服务器API版本:1.17
Go版本(服务器):go1.4.1
Git提交(服务器):a8a31ef
https://mail.google.com/mail/u/0/?shva=1#label/Hashicorp%2Fpacker / 14c1113f7041d655
@kikitux仅供参考:这是您Gmail收件箱中内容的链接。 我们看不到。
Packer 0.7.5和docker 1.5.0也有此问题
还可以使用Boot2Docker-cli version: v1.5.0
在OSX上重现
打包器版本
Packer v0.7.5
码头工人版本
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
@alkersan提出的docker主机。 我在docker客户端和服务器上都具有相同的docker版本(1.5),而打包器上均装有补丁程序版本。 它在docker服务器上工作正常,但挂在客户端上
+1
+1
Docker 1.6一样
我已经使用Docker 1.6在CentOS 7上测试了@stefancocora提供的二进制文件,
我使用Docker 1.6在Fedora 21的基础上编译了自己的二进制文件,并且打包程序工作了。
使用远程docker主机时仍然为我挂起,但在本地工作正常
ubuntu trusty和docker 1.6也会失败
在两个方面也都有问题:
OpenSUSE 13.1 x86_64 && OSX 10.10
与:
$ packer version
Packer v0.7.5
和
$ docker version
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 4749651
OS/Arch (client): linux/amd64
Server version: 1.6.0
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 4749651
OS/Arch (server): linux/amd64
我最终降级到docker 1.3.2可以在这里工作(在OpenSUSE系统上)。
我在OSX 10.10上尝试了1.3.2和1.3.0,没有运气。
好的,所以我了解到可能需要降级到docker 1.3.2才能使我的打包程序构建Shell脚本与Docker一起使用。 任何人都可以提供有关如何在Ubuntu(可信任)上安装docker 1.3.2的说明,我不知道如何。
好的找到了!
须藤apt-get install lxc-docker-1.3.2
这样就解决了问题。 我以前使用的是最新版本的docker,无论那个版本是什么。
似乎也无法在Ubuntu 14.04上使用Docker 1.6.0失败。
当执行d3netxer所说的“ sudo apt-get install lxc-docker-1.3.2”时(没有先卸载任何东西),它似乎可以工作。
@dietervds
您是否尝试过使用此问题的修复程序创建的二进制文件?
https://github.com/stefancocora/packer-issue1752-fix
@mindscratch在16天前确认,我创建的二进制文件可与docker 1.6
和CentOS7
@stefancocora
我将SELinux设置为Permissive Mode后, https://github.com/stefancocora/packer-issue1752-fix在Docker 1.6.0上的Fedora 21上对我有效。 它也可以在带有Docker 1.5.0的CentOS 7,带有SELinux到Permissive的CentOS 7上以及在带有Docker 1.5.0的Ubuntu 15.04上工作。
这仅适用于Shell脚本配置吗? chef-solo
预配器似乎也失败了,但是我对docker / chef / packer还是很陌生,所以我的问题可能在其他地方。
版本:
Docker v1.5
打包机v0.7.5
模板:
{
"builders": [
{
"type": "docker",
"image": "ubuntu:14.04",
"export_path": "{{pwd}}/utils.img"
}
],
"provisioners": [
{
"type": "chef-solo",
"cookbook_paths": "{{pwd}}/cookbooks"
}
]
}
chef-solo
预配置程序基于shell
预配置程序,因此两者均已损坏。 很遗憾,这个错误没有引起核心团队的注意。 似乎运送新产品比维护现有产品更为重要。 :(
确实。
嘿@mitchellh ,这个错误是否有可能在0.8版本中得到修复?
你好
此修补程序的版本何时才能正式发布? 它也对我有用(https://github.com/stefancocora/packer-issue1752-fix)
谢谢
+1
对于任何想做docker + chef的人来说,这都是一个非常严重的阻碍。 如果需要修补工具链的一半,我可能无法为我的团队推荐。
实际上,在使用docker构建器时,它会影响很多部分。
幸运的是,补丁程序可以正常工作。
2015年5月21日星期四下午5:57,Matt Chu [email protected]写道:
+1
对于任何想做docker + chef的人来说,这都是一个非常严重的阻碍。
如果需要修补哪些内容,我可能无法为我的团队推荐
感觉就像工具链的一半。-
直接回复此电子邮件或在GitHub上查看
https://github.com/mitchellh/packer/issues/1752#issuecomment -104444469。
我也被禁止使用docker + Chef,如
我希望维护人员能尽快合并它(事实是他们没有让我担心他们可能会完全想到另一种解决方案?)
刚好碰到这个。 将尝试作为解决方案的补丁。 使用docker-machine和docker 1.6.2
固定!
谢谢@mitchellh !!!! 我正要赞成Docerkfiles(颤栗)的退休封隔器,因为这是打破我的部署。 您仍然是我永远的英雄之一,为我节省了数小时的生命。
太棒了!! \ m /
谢谢!!
2015年5月29日20:56,Mitchell Hashimoto通知单@ github.com
写道:
封闭#1752 https://github.com/mitchellh/packer/issues/1752。
-
直接回复此电子邮件或在GitHub上查看
https://github.com/mitchellh/packer/issues/1752#event -317473314。
巨大的帮助,谢谢!
对于长时间的延迟,我深表歉意:(我们很快就会发布Packer,其中包含许多Docker错误修复程序。
好消息! 将会很期待;)
谢谢! 一直期待着这个!
@mitchellh什么时候计划包含此修复程序的下一个版本?
@stefancocora感谢您的临时修订!
很棒的家伙。 做得好!
@aidanjl没问题,这是我至少可以做的事情,以便使@mariussturm修复程序对于任何人都易于访问!
@mitchellh也请通过此修复程序升级Atlas使用的
我目前在OS X上运行Packer 0.8-dev和Docker 1.6.2,仍然看到此问题。
==> docker: Provisioning with shell script: /var/folders/7z/3_4h7g_x55b_stn8nyd2w4mc0000gn/T/packer-shell921079459
2015/06/19 15:13:00 packer-provisioner-shell: 2015/06/19 15:13:00 [INFO] 92 bytes written for 'uploadData'
2015/06/19 15:13:00 [INFO] 92 bytes written for 'uploadData'
2015/06/19 15:13:00 packer-builder-docker: 2015/06/19 15:13:00 Executing in container b77320622ccd70b787bf85e0d88680db0a8a29ea4946aad7d18ceb7dc181362c: "(command cp /packer-files/upload556204673 /tmp/script_7943.sh) >/packer-files/cmd576371692 2>&1; echo $? >/packer-files/cmd576371692-exit"
2015/06/19 15:13:02 packer-builder-docker: 2015/06/19 15:13:02 Waiting for exit code to appear for remote command...
我还尝试过降级到Docker 1.3.3并遇到了同样的事情。
Packer v0.8.0已被标记并昨天发布到下载页面,这实际上应该可以解决此问题。 在将Packer 0.7.5升级到0.8.0之后,它对Docker 1.5.0来说适用。
已验证并在Ubuntu 14.04 x64主机上与Packer v0.8.0
和docker Client version: 1.6.2
一起正常工作。
我仍然在osx上遇到此问题。 Packer版本0.8.0,docker版本1.6.2和1.7.0。 可以去Linux发行版看看我是否还有运气。
与@ lukeowen89相同
有点麻烦,目前我仍然无法在osx上打包。
在OSX上对我来说也很糟糕。 Packer 0.8.1,Docker 1.7.1
2015/07/15 23:42:08 [INFO] Packer version: 0.8.1 872e78d5b0a387eb3b87ddeef210264c3199d178+CHANGES
2015/07/15 23:42:08 Packer Target OS/Arch: darwin amd64
2015/07/15 23:42:08 Built with Go Version: go1.4.2
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-chroot = /usr/local/bin/packer-builder-amazon-chroot
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-ebs = /usr/local/bin/packer-builder-amazon-ebs
2015/07/15 23:42:08 [DEBUG] Discovered plugin: amazon-instance = /usr/local/bin/packer-builder-amazon-instance
2015/07/15 23:42:08 [DEBUG] Discovered plugin: digitalocean = /usr/local/bin/packer-builder-digitalocean
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker = /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 [DEBUG] Discovered plugin: file = /usr/local/bin/packer-builder-file
2015/07/15 23:42:08 [DEBUG] Discovered plugin: googlecompute = /usr/local/bin/packer-builder-googlecompute
2015/07/15 23:42:08 [DEBUG] Discovered plugin: null = /usr/local/bin/packer-builder-null
2015/07/15 23:42:08 [DEBUG] Discovered plugin: openstack = /usr/local/bin/packer-builder-openstack
2015/07/15 23:42:08 [DEBUG] Discovered plugin: parallels-iso = /usr/local/bin/packer-builder-parallels-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: parallels-pvm = /usr/local/bin/packer-builder-parallels-pvm
2015/07/15 23:42:08 [DEBUG] Discovered plugin: qemu = /usr/local/bin/packer-builder-qemu
2015/07/15 23:42:08 [DEBUG] Discovered plugin: virtualbox-iso = /usr/local/bin/packer-builder-virtualbox-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: virtualbox-ovf = /usr/local/bin/packer-builder-virtualbox-ovf
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vmware-iso = /usr/local/bin/packer-builder-vmware-iso
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vmware-vmx = /usr/local/bin/packer-builder-vmware-vmx
2015/07/15 23:42:08 [DEBUG] Discovered plugin: atlas = /usr/local/bin/packer-post-processor-atlas
2015/07/15 23:42:08 [DEBUG] Discovered plugin: compress = /usr/local/bin/packer-post-processor-compress
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-import = /usr/local/bin/packer-post-processor-docker-import
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-push = /usr/local/bin/packer-post-processor-docker-push
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-save = /usr/local/bin/packer-post-processor-docker-save
2015/07/15 23:42:08 [DEBUG] Discovered plugin: docker-tag = /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vagrant = /usr/local/bin/packer-post-processor-vagrant
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vagrant-cloud = /usr/local/bin/packer-post-processor-vagrant-cloud
2015/07/15 23:42:08 [DEBUG] Discovered plugin: vsphere = /usr/local/bin/packer-post-processor-vsphere
2015/07/15 23:42:08 [DEBUG] Discovered plugin: ansible-local = /usr/local/bin/packer-provisioner-ansible-local
2015/07/15 23:42:08 [DEBUG] Discovered plugin: chef-client = /usr/local/bin/packer-provisioner-chef-client
2015/07/15 23:42:08 [DEBUG] Discovered plugin: chef-solo = /usr/local/bin/packer-provisioner-chef-solo
2015/07/15 23:42:08 [DEBUG] Discovered plugin: file = /usr/local/bin/packer-provisioner-file
2015/07/15 23:42:08 [DEBUG] Discovered plugin: powershell = /usr/local/bin/packer-provisioner-powershell
2015/07/15 23:42:08 [DEBUG] Discovered plugin: puppet-masterless = /usr/local/bin/packer-provisioner-puppet-masterless
2015/07/15 23:42:08 [DEBUG] Discovered plugin: puppet-server = /usr/local/bin/packer-provisioner-puppet-server
2015/07/15 23:42:08 [DEBUG] Discovered plugin: salt-masterless = /usr/local/bin/packer-provisioner-salt-masterless
2015/07/15 23:42:08 [DEBUG] Discovered plugin: shell = /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 [DEBUG] Discovered plugin: shell-local = /usr/local/bin/packer-provisioner-shell-local
2015/07/15 23:42:08 [DEBUG] Discovered plugin: windows-restart = /usr/local/bin/packer-provisioner-windows-restart
2015/07/15 23:42:08 [DEBUG] Discovered plugin: windows-shell = /usr/local/bin/packer-provisioner-windows-shell
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Attempting to open config file: /Users/bob/.packerconfig
2015/07/15 23:42:08 [WARN] Config file doesn't exist: /Users/bob/.packerconfig
2015/07/15 23:42:08 Packer config: &{DisableCheckpoint:false DisableCheckpointSignature:false PluginMinPort:10000 PluginMaxPort:25000 Builders:map[digitalocean:/usr/local/bin/packer-builder-digitalocean googlecompute:/usr/local/bin/packer-builder-googlecompute virtualbox-ovf:/usr/local/bin/packer-builder-virtualbox-ovf amazon-instance:/usr/local/bin/packer-builder-amazon-instance vmware-vmx:/usr/local/bin/packer-builder-vmware-vmx amazon-chroot:/usr/local/bin/packer-builder-amazon-chroot null:/usr/local/bin/packer-builder-null vmware-iso:/usr/local/bin/packer-builder-vmware-iso openstack:/usr/local/bin/packer-builder-openstack parallels-iso:/usr/local/bin/packer-builder-parallels-iso parallels-pvm:/usr/local/bin/packer-builder-parallels-pvm qemu:/usr/local/bin/packer-builder-qemu virtualbox-iso:/usr/local/bin/packer-builder-virtualbox-iso amazon-ebs:/usr/local/bin/packer-builder-amazon-ebs docker:/usr/local/bin/packer-builder-docker file:/usr/local/bin/packer-builder-file] PostProcessors:map[atlas:/usr/local/bin/packer-post-processor-atlas docker-tag:/usr/local/bin/packer-post-processor-docker-tag vagrant-cloud:/usr/local/bin/packer-post-processor-vagrant-cloud vsphere:/usr/local/bin/packer-post-processor-vsphere compress:/usr/local/bin/packer-post-processor-compress docker-import:/usr/local/bin/packer-post-processor-docker-import docker-push:/usr/local/bin/packer-post-processor-docker-push docker-save:/usr/local/bin/packer-post-processor-docker-save vagrant:/usr/local/bin/packer-post-processor-vagrant] Provisioners:map[shell-local:/usr/local/bin/packer-provisioner-shell-local windows-shell:/usr/local/bin/packer-provisioner-windows-shell ansible-local:/usr/local/bin/packer-provisioner-ansible-local chef-client:/usr/local/bin/packer-provisioner-chef-client file:/usr/local/bin/packer-provisioner-file salt-masterless:/usr/local/bin/packer-provisioner-salt-masterless shell:/usr/local/bin/packer-provisioner-shell chef-solo:/usr/local/bin/packer-provisioner-chef-solo powershell:/usr/local/bin/packer-provisioner-powershell puppet-masterless:/usr/local/bin/packer-provisioner-puppet-masterless puppet-server:/usr/local/bin/packer-provisioner-puppet-server windows-restart:/usr/local/bin/packer-provisioner-windows-restart]}
2015/07/15 23:42:08 Setting cache directory: /Users/bob/Projects/garbanzo/packer_cache
2015/07/15 23:42:08 Detected home directory from env var: /Users/bob
2015/07/15 23:42:08 Loading builder: docker
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-builder-docker []string{"/usr/local/bin/packer-builder-docker"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-builder-docker
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin389384987
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 Loading provisioner: shell
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-provisioner-shell []string{"/usr/local/bin/packer-provisioner-shell"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-provisioner-shell
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin592962254
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-provisioner-shell: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 Loading post-processor: docker-tag
2015/07/15 23:42:08 Creating plugin client for path: /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 Starting plugin: /usr/local/bin/packer-post-processor-docker-tag []string{"/usr/local/bin/packer-post-processor-docker-tag"}
2015/07/15 23:42:08 Waiting for RPC address for: /usr/local/bin/packer-post-processor-docker-tag
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin minimum port: 10000
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin maximum port: 25000
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Plugin address: unix /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-plugin099680253
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Waiting for connection...
2015/07/15 23:42:08 packer-post-processor-docker-tag: 2015/07/15 23:42:08 Serving a plugin connection...
2015/07/15 23:42:08 ui: docker output will be in this color.
2015/07/15 23:42:08 ui:
2015/07/15 23:42:08 Build debug mode: false
2015/07/15 23:42:08 Force build: false
2015/07/15 23:42:08 Preparing build: docker
docker output will be in this color.
2015/07/15 23:42:08 Waiting on builds to complete...
2015/07/15 23:42:08 Starting build run: docker
2015/07/15 23:42:08 Running builder: docker
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 [DEBUG] Docker version: 1.7.1
2015/07/15 23:42:08 ui: ==> docker: Creating a temporary directory for sharing data...
==> docker: Creating a temporary directory for sharing data...
2015/07/15 23:42:08 ui: ==> docker: Pulling Docker image: gliderlabs/herokuish
==> docker: Pulling Docker image: gliderlabs/herokuish
2015/07/15 23:42:08 packer-builder-docker: 2015/07/15 23:42:08 Executing: /usr/local/bin/docker [pull gliderlabs/herokuish]
2015/07/15 23:42:11 ui: docker: latest: Pulling from gliderlabs/herokuish
docker: latest: Pulling from gliderlabs/herokuish
2015/07/15 23:42:11 ui: docker: 835c565d00e2: Already exists
docker: 835c565d00e2: Already exists
2015/07/15 23:42:11 ui: docker: c5c659229e15: Already exists
docker: c5c659229e15: Already exists
2015/07/15 23:42:11 ui: docker: 9a8403cd4d99: Already exists
docker: 9a8403cd4d99: Already exists
2015/07/15 23:42:11 ui: docker: 89fc314a0a6e: Already exists
docker: 89fc314a0a6e: Already exists
2015/07/15 23:42:11 ui: docker: d257698c42c5: Already exists
docker: d257698c42c5: Already exists
2015/07/15 23:42:11 ui: docker: c6c6baedb602: Already exists
docker: c6c6baedb602: Already exists
2015/07/15 23:42:11 ui: docker: c6c6baedb602: Already exists
docker: c6c6baedb602: Already exists
2015/07/15 23:42:11 ui: docker: Digest: sha256:4b08475f91eaccceb40fcbb5e0c43a992257b1bdedbf86f2777f458da9a0e2cd
2015/07/15 23:42:11 ui: docker: Status: Image is up to date for gliderlabs/herokuish:latest
docker: Digest: sha256:4b08475f91eaccceb40fcbb5e0c43a992257b1bdedbf86f2777f458da9a0e2cd
docker: Status: Image is up to date for gliderlabs/herokuish:latest
2015/07/15 23:42:11 ui: ==> docker: Starting docker container...
==> docker: Starting docker container...
2015/07/15 23:42:11 ui: docker: Run command: docker run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Starting container with args: [run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash]
docker: Run command: docker run -v /Users/bob/Projects/garbanzo:/tmp/app -v /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-docker638187454:/packer-files -d -i -t gliderlabs/herokuish /bin/bash
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Waiting for container to finish starting
2015/07/15 23:42:11 ui: docker: Container ID: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
docker: Container ID: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Running the provision hook
2015/07/15 23:42:11 ui: ==> docker: Provisioning with shell script: /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589
2015/07/15 23:42:11 packer-provisioner-shell: 2015/07/15 23:42:11 Opening /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589 for reading
==> docker: Provisioning with shell script: /var/folders/4j/hd7wss1n4xzc8xn224xsyls80000gn/T/packer-shell845253589
2015/07/15 23:42:11 packer-provisioner-shell: 2015/07/15 23:42:11 [INFO] 44 bytes written for 'uploadData'
2015/07/15 23:42:11 [INFO] 44 bytes written for 'uploadData'
2015/07/15 23:42:11 packer-builder-docker: 2015/07/15 23:42:11 Executing in container cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16: "(command cp /packer-files/upload803520517 /tmp/script_7943.sh) >/packer-files/cmd416685472 2>&1; echo $? >/packer-files/cmd416685472-exit"
2015/07/15 23:42:13 packer-builder-docker: 2015/07/15 23:42:13 Waiting for exit code to appear for remote command...
^C
2015/07/15 23:50:00 Closing stdin because interrupt received.
2015/07/15 23:50:00 Stopping build: docker
2015/07/15 23:50:00 packer-post-processor-docker-tag: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-provisioner-shell: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-builder-docker: 2015/07/15 23:50:00 Received interrupt signal (count: 1). Ignoring.
2015/07/15 23:50:00 packer-builder-docker: 2015/07/15 23:50:00 Cancelling the step runner...
2015/07/15 23:50:01 packer-builder-docker: 2015/07/15 23:50:01 Cancelling provisioning due to interrupt...
2015/07/15 23:50:01 Provisioner.Cancel err: unexpected EOF
2015/07/15 23:50:01 /usr/local/bin/packer-provisioner-shell: plugin process exited
2015/07/15 23:50:01 ui: ==> docker: Killing the container: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
==> docker: Killing the container: cc6a7056923234a1264718283c1a58a1c49796d64458cefe84e5ee4941c4bf16
2015/07/15 23:50:01 Build cancelled: docker
2015/07/15 23:50:01 ui: Build 'docker' finished.
2015/07/15 23:50:01 Builds completed. Waiting on interrupt barrier...
2015/07/15 23:50:01 ui: Cleanly cancelled builds after being interrupted.
2015/07/15 23:50:01 waiting for all plugin processes to complete...
Build 'docker' finished.
Cleanly cancelled builds after being interrupted.
2015/07/15 23:50:01 /usr/local/bin/packer-post-processor-docker-tag: plugin process exited
2015/07/15 23:50:01 /usr/local/bin/packer-builder-docker: plugin process exited
$ ls /packer-files
cmd416685472 cmd416685472-exit
$ cat /packer-files/cmd416685472
cp: cannot stat '/packer-files/upload803520517': No such file or directory
同上,在Packer 0.8.5和Docker 1.8.1的OSX上遇到此问题。
@解密我在这里为此打开了一个新期刊:#2675
这在带包装器0.10.2的Docker 1.12.1上仍然是一个问题
我确认使用Docker 1.12.1和Packer 0.11.0存在相同的问题。
对于我来说,这仅是在Packer在docker内部运行,然后尝试配置新的docker时发生的。 也许这做错了吗?
最有用的评论
对于我来说,这仅是在Packer在docker内部运行,然后尝试配置新的docker时发生的。 也许这做错了吗?