在 Dockerfile 中,我输入了以下内容:
COPY docker-files/krb5.conf /etc
RUN /usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;
期望是当我使用“docker run -it”命令时 KDC 会启动。
但是,启动 docker VM 后,KDC 没有运行。我的预期正确吗?
谢谢
首先,使用 CMD(在运行时生效)而不是 RUN(在构建时生效)
然后将 krb 放在前台-n
:
CMD /usr/sbin/krb5kdc -n -P /var/run/krb5kdc.pid
但如果它仍然不起作用,请发布该docker logs
容器的
RUN 和 CMD 不一样
https://docs.docker.com/engine/reference/builder/#cmd
或者
入口点
https://docs.docker.com/engine/reference/builder/#entrypoint
默认情况下,docker 容器执行它在 CMD 中的内容并退出,所以这是“正常的”。
尝试用 CMD 替换 RUN,重建并重新启动
另请参阅