Packer Docker Builder, не принимающий -v foo:/bar

Опишите проблему и включите следующую информацию:

Packer Version - 0.9.0
Host platform - Centos 7.2

Я пытаюсь подготовить контейнер докера, и мне нужно, чтобы в контейнере были /lib/modules, смонтированные в /lib/modules в контейнере. Что странно, когда я запускаю команду запуска докера, о которой Packer говорит, что она запущена, я могу запустить контейнер и сделать то, что мне нужно.

Моя команда 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

Который, когда я запускаю вручную, работает.


person PolarisUser    schedule 14.04.2016    source источник


Ответы (1)


Итак, я понял решение этой проблемы. 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" ]

Если этого нет в документации (я этого не видел, но это не значит, что этого нет), то, возможно, это должно быть?

person PolarisUser    schedule 14.04.2016