2017-09-14 14 views
0

我有一個Dockerfile其開頭:Docker CMD基礎圖像是否具有CMD?

FROM puppet/puppetserver 

當我看source container它是從another建:

FROM puppet/puppetserver-standalone:5.0.0 

第二包含CMD命令:

ENTRYPOINT ["dumb-init", "/docker-entrypoint.sh"] 
CMD ["foreground" ] 

在我自己的容器中,我以:

COPY start.sh/
CMD /start.sh 

CMD運行,但意外的結果:

puppetserver: '/ bin/sh的' 不是puppetserver命令。參見'puppetserver --help'。

我知道我有慶典菱因爲我使用RUN commands.sh在同一Dockerfile CMD之前。

CMD命令在從基礎映像繼承時如何堆疊?

我的CMD不是作爲普通的bash命令運行,而是與基礎映像的CMD一起運行?

回答

2

您需要的入口點從父圖像

COPY start.sh/
ENTRYPOINT [] 
CMD /start.sh 
+0

謝謝你現在試試,這是否意味着來自父容器的'/ docker-entrypoint.sh'將不會運行? (如果可以的話,可以在我的'start.sh'中引用它) –

+0

是的,如果你想運行它,你可以在'start.sh' –