当用户同时写了command
和args
的时候自然是可以覆盖DockerFile中ENTRYPOINT的命令行和参数,那么对于具体情况呢,比如仅仅写了command
或者args
的时候呢?完整的情况分类如下:
- 如果
command
和args
均没有写,那么用Docker默认的配置。 - 如果
command
写了,但args
没有写,那么Docker默认的配置会被忽略而且仅仅执行.yaml文件的command
(不带任何参数的)。 - 如果
command
没写,但args
写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是.yaml中的args
。 - 如果如果
command
和args
都写了,那么Docker默认的配置被忽略,使用.yaml的配置。
mage Entrypoint | Image Cmd | Container command | Container args | Command run |
---|---|---|---|---|
[/ep-1] | [foo bar] | <not set> | <not set> | [ep-1 foo bar] |
[/ep-1] | [foo bar] | [/ep-2] | <not set> | [ep-2] |
[/ep-1] | [foo bar] | <not set> | [zoo boo] | [ep-1 zoo boo] |
[/ep-1] | [foo bar] | [/ep-2] | [zoo boo] | [ep-2 zoo boo] |
所有评论(0)