我拍摄了 Kafka UI 镜像(provectuslabs/kafka-ui:v0.7.1): https://hub.docker.com/layers/provectuslabs/kafka-ui/master/images/sha256-633606ca07677d1c4b9405c5df1b6f0087aa75b36528a17eed142d06f65d0881?context=explore
我想在启动 Kafka UI 之前执行我的脚本,但收到错误脚本未找到。
FROM provectuslabs/kafka-ui:v0.7.1
# Secret for swarm
USER root
COPY script.sh /script.sh
RUN chmod +x /script.sh
EXPOSE 8080
ENTRYPOINT ["/script.sh"]
CMD ["/bin/sh" "-c" "java --add-opens java.rmi/javax.rmi.ssl=ALL-UNNAMED $JAVA_OPTS -jar kafka-ui-api.jar"]
错误:
exec /script.sh: no such file or directory
我可以用其他图像来完成这个技巧,例如图像
bitnami/kafka
。但我不知道如何处理这张图片provectuslabs/kafka-ui:v0.7.1
。
如果我理解正确,那么您需要运行
script.sh
,然后继续基本映像的正常启动。试试这个:
FROM provectuslabs/kafka-ui:v0.7.1
USER root
COPY script.sh /script.sh
RUN chmod +x /script.sh
EXPOSE 8080
CMD /script.sh && java --add-opens java.rmi/javax.rmi.ssl=ALL-UNNAMED -jar kafka-ui-api.jar
在下面的屏幕截图中,您可以看到在主 Kafka UI 作业启动之前运行的简单
script.sh
的结果。
#!/bin/sh
echo "Hello, World!"