【问题标题】:How to run shell file as entrypoint when using docker image with tomcat:9.0.45-jdk8-adoptopenjdk-hotspot in a dockerfile?在dockerfile中使用带有tomcat:9.0.45-jdk8-adoptopenjdk-hotspot的docker镜像时如何将shell文件作为入口点运行?
【发布时间】:2021-05-17 14:54:58
【问题描述】:

我正在使用 docker image tomcat:9.0.45-jdk8-adoptopenjdk-hotspot 创建一个 docker 文件。要运行 dockerfile,我使用命令 docker run -it -p 8888:8080 tomcatcustom ,这会打开 tomcat 服务器。

我想运行另一个自定义 .sh 文件以及通过运行 docker 映像执行的 tomcat 服务器。如何在我创建的 dockerfile 中定义入口点,以便我可以同时执行 tomcat 和我的 .sh 文件?

或者还有其他选择吗?

【问题讨论】:

    标签: docker docker-compose dockerfile


    【解决方案1】:

    Dockerfile 只能有一个执行的入口点,但没有什么能阻止您将脚本作为入口点来运行您的自定义脚本和 tomcat。 例如

    如果你有一个目录

    Dockerfile
    custom.sh // your custom script
    start.sh
    

    start.sh 在哪里

    #!/usr/bin/env bash
    ./custom.sh &
    catalina.sh run
    

    Dockerfile

    FROM tomcat:9.0.45-jdk8-adoptopenjdk-hotspot
    COPY start.sh .
    COPY custom.sh .
    CMD "./start.sh"
    

    在这种情况下,custom.sh 在后台执行(使用&),以便并行启动 tomcat。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      • 2022-01-24
      • 2021-11-06
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      相关资源
      最近更新 更多