2016-04-14 11 views
0

Beschreiben Sie das Problem und die folgenden Angaben enthalten:Packer Docker Builder, nicht -v foo akzeptieren:/bar

Packer Version - 0.9.0 
Host platform - Centos 7.2 

ich Bereitstellung versuche ein Docker Behälter, und ich brauche um den Behälter zu haben/lib/Module, die im Container an/lib/modules angehängt sind. Was merkwürdig ist, wenn ich den docker run-Befehl ausführe, sagt Packer, dass er läuft, kann ich den Container starten und tun, was ich tun muss.

Mein Docker Befehl, das funktioniert -

docker run --privileged -t -i --net=host -v /lib/modules:/lib/modules 9a8c6ee5e82a /bin/bash -c 'sudo /sbin/service iptables restart' 

Ein Teil der Vorlage zu dieser

{ "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" ] }], 

und der Fehler ==> Docker: Fehler beim Ausführen der Behälter: Docker verlassen mit einem Nicht-Null Ausgangsstatus ==> Docker: Stderr: flag angegeben, aber nicht definiert: v/lib/modules:/lib/modules

Dies ist, was er sagt, seine

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 

läuft, die, wenn ich manuell ausführen, funktioniert.

Antwort

0

Also habe ich die Lösung dafür gefunden. Packer möchte, dass der Parameter '-v' in einer eigenen Menge von Anführungszeichen steht und dann, was Sie in einer anderen Zeile an -v übergeben möchten. So zum Beispiel, ist das, was für mich funktioniert

run_command": [ "--privileged", "-d", "-i", "-t", "--net=host", "-v", " /lib/modules:/lib/modules", "{{.Image}}", "/bin/sh" ] 

Hier ist, was ich habe getan, dass nicht funktioniert

run_command": [ "--privileged", "-d", "-i", "-t", "--net=host", "-v /lib/modules:/lib/modules", "{{.Image}}", "/bin/sh" ] 

Wenn dies nicht in der Dokumentation ist (ich habe es nicht gesehen , aber das heißt nicht, dass es nicht da ist) sollte es vielleicht sein?