2017-05-19 3 views
1

에, 나는 다음에 넣어 :시작 KDC는 Dockerfile에서 Dockerfile

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

기대가 KDC 내가 "고정 표시기 실행 - 그것은"명령을 사용할 때 시작되는 것입니다.

그러나, KDC는 고정 표시기 VM을 시작한 후 실행되고 있지 않습니다. 내 기대가 맞습니까?

감사

답변

0

RUN은 CMD와 동일하지 않습니다

https://docs.docker.com/engine/reference/builder/#cmd

또는

엔트리 포인트가

기본적으로 https://docs.docker.com/engine/reference/builder/#entrypoint

고정 표시기 용기가 무엇을 실행 전 t는 CMD에 있고 나가기 때문에 "정상"입니다. 대신 RUN (빌드 시행한다

CMD에 의해 RUN 교체 시도, 다시 및 CMD를 사용 (실행 시간에 적용됩니다)

What is the difference between CMD and ENTRYPOINT in a Dockerfile?

+0

CMD로 RUN을 변경하고 docker VM을 다시 실행했습니다. krb5kdc는 여전히 VM에서 활성화되지 않습니다. "도커 실행"에 대한 BTW, "-h = securecluster"를 지정했습니다. 이것이 내가 관찰 한 것에 어떤 역할을 할 지 확신 할 수 없다. – Ted

+0

이 명령이 오래 지속 되나요, 아니면 즉시 프롬프트가 다시 나타 납니까? – user2915097

+0

CMD는/usr/sbin에/krb5kdc -P /var/run/krb5kdc.pid'시도; sleep infinity' – user2915097

0

첫째로도 creack 대답

참조를 다시 시작 시간)

그런 -n 전경에 KRB를 넣어 :

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

아직 작동하지 않는 경우 해당 컨테이너의 docker logs을 게시하십시오.

+0

여러 프로세스를 실행할 수있는 고정 표시기 로그의 꼬리 : https://pastebin.com/bbLuR0P5 – Ted

+0

당신을 "그 다음 krb를 전경에 넣었다"고 말했다. 이것은 krb5kdc에 대해 두 개의 CMD가 필요하다는 것을 의미합니까? 이전 출력에는 단 하나의 CMD 만있었습니다. /var/log/krb5kdc.log 보면 – Ted

+0

의 krb5kdc 실제로 실행 아무 표시도 없었다 - 로그 파일이 비어 있습니다. – Ted