如何在docker中初始化一个keytab?

我有一个krb5.conf文件。 我创build了一个keytab,并在这里进行了检查。

在docker文件中,我将它全部添加到容器中

FROM java:8 ADD krb5.conf /etc/krb5.conf ADD evkuzmin.keytab /etc/evkuzmin.keytab ADD scripts/ /opt/scripts/ ADD report.jar report.jar RUN sh -c 'touch report.jar' ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://audpro_mongo/report","-Djava.security.egd=file:/dev/./urandom","-jar","/report.jar","/opt/scripts/init-keytab.sh"] 

并尝试在init-keytab.sh中初始化它

 #!/bin/bash kinit EvKuzmin@REALM -k -t /etc/evkuzmin.keytab 

但每次我尝试访问安全的群集,我得到未经授权的错误。 当我检查我的密钥表

 klist -k evkuzmin.keytab 

我找不到evkuzmin.keytab。

为什么?

我使用Oracle虚拟框和docker quickstratterminal来testing本地的一切。 Keytab在服务器上生成并复制到本地计算机上。

编辑

我使用图片检查了图片中的文件

 docker run -it --entrypoint sh <image-name> 

他们在场。

没有必要初始化它。 我设法运行它。 你可以在这里find我是如何做到的。

编辑

另外,我find了这个片段

 CMD kinit -kt $HOME/$USER.keytab $USER && ${PROJECT_DIR}/oozie/${PROJECT_NAME}/start.sh 

这应该是从dockerfile初始化keytab。 没有testing,所以不知道它如何与春季工作。 这将启动与kerberos证书的oozie协调员。