在Dockerfile中,我输入了以下内容:
COPY docker-files/krb5.conf /etc
RUN /usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;期望在我使用"docker run -it“命令时启动KDC。
但是,启动docker VM后,KDC未运行。我的预期是正确的吗?
谢谢
发布于 2017-05-19 22:48:08
RUN与CMD不同
https://docs.docker.com/engine/reference/builder/#cmd
或
入口点
https://docs.docker.com/engine/reference/builder/#entrypoint
默认情况下,docker容器执行它在CMD中拥有的内容并退出,因此这是“正常的”。
尝试更换由CMD运行,重新构建并重新启动
另请参阅creack答案
What is the difference between CMD and ENTRYPOINT in a Dockerfile?
发布于 2017-05-20 10:41:46
首先,使用CMD (在运行时生效)而不是run (在构建时生效)
然后使用-n将krb放在前台
CMD /usr/sbin/krb5kdc -n -P /var/run/krb5kdc.pid但如果它仍然不起作用,请发布该容器的docker logs
https://stackoverflow.com/questions/44072609
复制相似问题