在Dockerfile,我把以下内容:启动KDC在Dockerfile
COPY docker-files/krb5.conf /etc
RUN /usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;
的期望是,KDC会当我使用“泊坞窗运行 - 它”命令启动。
但是,KDC在启动docker VM后没有运行。 我的期望是否正确?
感谢
在Dockerfile,我把以下内容:启动KDC在Dockerfile
COPY docker-files/krb5.conf /etc
RUN /usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;
的期望是,KDC会当我使用“泊坞窗运行 - 它”命令启动。
但是,KDC在启动docker VM后没有运行。 我的期望是否正确?
感谢
RUN是不一样的CMD
https://docs.docker.com/engine/reference/builder/#cmd
或
入口点
https://docs.docker.com/engine/reference/builder/#entrypoint
默认情况下,泊坞窗容器进行什么活动我t已经在CMD中并退出,所以这是“正常的”。
尝试通过CMD更换RUN,重建并重新启动
看到
What is the difference between CMD and ENTRYPOINT in a Dockerfile?
首先也creack答案,使用CMD(需要在运行时的效果),而不是RUN(中呈现建构效应时间)
然后把KRB前景与-n
:
CMD /usr/sbin/krb5kdc -n -P /var/run/krb5kdc.pid
但是,如果它仍然无法正常工作,请发布该容器的docker logs
我使用CMD更改了RUN,并重新启动了docker虚拟机。 krb5kdc在虚拟机中仍然不活动。顺便说一句,“码头运行”,我指定“-h = securecluster”。不知道这是否会在我观察到的中扮演一些角色。 – Ted
该命令是否持续很长时间或立即返回提示? – user2915097
尝试'CMD/usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;睡眠无限' – user2915097