1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

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": {}, "Volumes": {},
"Env": [], "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: if self._start_command:
params["Cmd"] += shlex.split(self._start_command) params["Cmd"] = shlex.split(self._start_command)
else: if len(params["Cmd"]) == 0:
if len(params["Cmd"]) == 2: params["Cmd"] = image_infos.get("Config", {"Cmd": []})["Cmd"]
params["Cmd"] += ["/bin/sh"] 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: if self._environment:
params["Env"] += [e.strip() for e in self._environment.split("\n")] 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 done
# continue normal docker startup # continue normal docker startup
/bin/sh -c "$@" exec "$@"