2017-05-19 62 views
1

在Dockerfile,我把以下內容:啓動KDC在Dockerfile

COPY docker-files/krb5.conf /etc 
RUN /usr/sbin/krb5kdc -P /var/run/krb5kdc.pid; 

的期望是,KDC會當我使用「泊塢窗運行 - 它」命令啓動。

但是,KDC在啓動docker VM後沒有運行。 我的期望是否正確?

感謝

回答

0

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?

+0

我使用CMD更改了RUN,並重新啓動了docker虛擬機。 krb5kdc在虛擬機中仍然不活動。順便說一句,「碼頭運行」,我指定「-h = securecluster」。不知道這是否會在我觀察到的中扮演一些角色。 – Ted

+0

該命令是否持續很長時間或立即返回提示? – user2915097

+0

嘗試'CMD/usr/sbin/krb5kdc -P /var/run/krb5kdc.pid;睡眠無限' – user2915097

0

首先也creack答案,使用CMD(需要在運行時的效果),而不是RUN(中呈現建構效應時間)

然後把KRB前景與-n

CMD /usr/sbin/krb5kdc -n -P /var/run/krb5kdc.pid 

但是,如果它仍然無法正常工作,請發佈該容器的docker logs

+0

以下是docker日誌的尾部:https://pastebin.com/bbLuR0P5 – Ted

+0

您說「然後把krb放在前臺」。這是否意味着我需要兩個CMD的krb5kdc?在之前的輸出中,只有一個CMD。 – Ted

+0

看着/var/log/krb5kdc.log,沒有任何跡象表明krb5kdc實際運行 - 日誌文件是空的。 – Ted