Запустите kdc в Dockerfile

В Dockerfile я вставил следующее:

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

Ожидается, что KDC будет запущен, когда я использую команду "docker run -it".

Однако KDC не запускается после запуска виртуальной машины Docker. Были ли мои ожидания верны?

Спасибо

2 ответа

Во-первых, используйте CMD (вступает в силу во время выполнения) вместо RUN (вступает в силу во время сборки)

Затем поместите КРБ на переднем плане с -n:

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

Но если это все еще не работает, отправьте docker logs из этого контейнера

RUN - это не то же самое, что CMD

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

или же

ТОЧКА ВХОДА

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

По умолчанию контейнер Docker выполняет то, что имеет в CMD, и завершает работу, так что это "нормально".

Попробуйте заменить RUN на CMD, пересобрать и перезапустить

Смотри также ответ на вопрос

В чем разница между CMD и ENTRYPOINT в Dockerfile?

Другие вопросы по тегам