3
當我運行我的docker容器時,它似乎只遵守CMD數組(python可執行文件)的第一個元素並忽略尾隨參數。當入口點出現時,Docker運行命令忽略Dockerfile CMD的一部分
Dockerfile:
FROM ubuntu:14.04
ENTRYPOINT ["/bin/bash", "-c"]
CMD ["/virtualenv/bin/python", "/mycode/myscript.py", "--param1"]
運行命令:
$ docker run --rm -it --volume $(pwd)/..:/mycode --volume mycontainer-virtualenv:/virtualenv mycontainer
輸出:如果我跑--detach
,而不是-it
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
同樣的情況。
$ docker run --rm -it --volume $(pwd)/..:/mycode --volume mycontainer-virtualenv:/virtualenv mycontainer /virtualenv/bin/python /mycode/myscript.py --param1
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
如果我運行bash的容器,並從bash提示符下運行CMD,它工作正常:
如果我用CMD運行作爲壓倒一切的搬運工運行參數同樣也發生
$ docker run --rm -it --volume $(pwd)/..:/mycode --volume mycontainer-virtualenv:/virtualenv mycontainer bash
[email protected]:/# /virtualenv/bin/python /mycode/myscript.py --param1
Hello world!