Docker 封隔器装卸工生成器,不接受-v foo:/bar
描述问题并包括以下信息:Docker 封隔器装卸工生成器,不接受-v foo:/bar,docker,packer,Docker,Packer,描述问题并包括以下信息: Packer Version - 0.9.0 Host platform - Centos 7.2 我正在尝试提供一个docker容器,我需要将/lib/modules安装到容器中的/lib/modules。奇怪的是,当我运行Packer所说的dockerrun命令时,我能够启动容器并执行我需要执行的操作 我的Docker命令有效- docker run --privileged -t -i --net=host -v /lib/modules:/lib/module
Packer Version - 0.9.0
Host platform - Centos 7.2
我正在尝试提供一个docker容器,我需要将/lib/modules安装到容器中的/lib/modules。奇怪的是,当我运行Packer所说的dockerrun命令时,我能够启动容器并执行我需要执行的操作
我的Docker命令有效-
docker run --privileged -t -i --net=host -v /lib/modules:/lib/modules 9a8c6ee5e82a /bin/bash -c 'sudo /sbin/service iptables restart'
模板中与此相关的部分
{ "builders": [{ "type": "docker", "image": "my-img", "pull": false, "export_path": "docker-march.tar", "run_command": [ "--privileged", "-d", "-i", "-t", "--net=host", "-v /lib/modules:/lib/modules", "{{.Image}}", "/bin/sh" ] }],
错误呢
==>docker:运行容器时出错:docker以非零退出状态退出。==>docker:Stderr:已提供但未定义的标志:-v/lib/modules:/lib/modules
这就是它所说的,它正在运行
docker: Run command: docker run -v /home/my-user/.packer.d/tmp/packer-docker780723700:/packer-files --privileged -d -i -t --net=host -v /lib/modules:/lib/modules top-rhel6-base /bin/sh
当我手动运行时,它可以工作 所以我想出了解决这个问题的办法。Packer希望参数'-v'在它自己的一组引号中,然后在另一行上传递给-v的内容。举个例子,这就是我的工作
run_command": [ "--privileged", "-d", "-i", "-t", "--net=host", "-v", " /lib/modules:/lib/modules", "{{.Image}}", "/bin/sh" ]
这就是我所拥有的,不起作用的东西
run_command": [ "--privileged", "-d", "-i", "-t", "--net=host", "-v /lib/modules:/lib/modules", "{{.Image}}", "/bin/sh" ]
如果这不在文档中(我没有看到,但这并不意味着它不在那里),那么它可能应该存在