updated docker command line processing

This commit is contained in:
Bernhard Ehlers 2016-03-03 09:12:36 +01:00
parent 84eb8356e8
commit 1dd437ecdc
2 changed files with 14 additions and 8 deletions

View File

@ -195,16 +195,22 @@ class DockerVM(BaseVM):
},
"Volumes": {},
"Env": [],
"Cmd": image_infos.get("ContainerConfig", {"Cmd": []})["Cmd"]
"Cmd": [],
"Entrypoint": image_infos.get("Config", {"Entrypoint": []})["Entrypoint"]
}
params["Cmd"].insert(0, "/bin/sh")
params["Cmd"].insert(1, "/gns3/init.sh")
if params["Entrypoint"] is None:
params["Entrypoint"] = []
if self._start_command:
params["Cmd"] += shlex.split(self._start_command)
else:
if len(params["Cmd"]) == 2:
params["Cmd"] += ["/bin/sh"]
params["Cmd"] = shlex.split(self._start_command)
if len(params["Cmd"]) == 0:
params["Cmd"] = image_infos.get("Config", {"Cmd": []})["Cmd"]
if params["Cmd"] is None:
params["Cmd"] = []
if len(params["Cmd"]) == 0 and len(params["Entrypoint"]) == 0:
params["Cmd"] = ["/bin/sh"]
params["Entrypoint"].insert(0, "/gns3/init.sh")
if self._environment:
params["Env"] += [e.strip() for e in self._environment.split("\n")]

2
gns3server/modules/docker/resources/init.sh Normal file → Executable file
View File

@ -43,4 +43,4 @@ sed -n 's/^ *\(eth[0-9]*\):.*/\1/p' < /proc/net/dev | while read dev; do
done
# continue normal docker startup
/bin/sh -c "$@"
exec "$@"