【问题标题】:How to pass docker arguments during docker run command or docker-compose up command如何在 docker run 命令或 docker-compose up 命令期间传递 docker 参数
【发布时间】:2017-04-21 04:24:01
【问题描述】:

我必须从 docker 映像创建一个 docker 容器。当使用 docker run 或 docker compose up 命令启动容器时,我想向它传递一些参数,并且这些参数值需要在容器启动时可用的属性文件中替换。我曾尝试使用入口点或 CMD 命令,但它似乎不起作用。有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: docker docker-compose dockerfile


    【解决方案1】:

    您可以将参数复制到文件中,然后将该文件复制到容器中。这可以通过在 Docker 文件中添加类似的行来实现

    FROM jboss/wildfly
    
    COPY Jberet-postgresql-configds.ddl /tmp/
    

    现在,该文件将位于 /tmp 的容器内,并可供容器内的程序使用。

    【讨论】:

    • 感谢您的回复。例如,我在容器中已经有一个属性文件,我需要在其中替换 IP 地址。此 IP 地址将仅在 docker run 命令期间传递。如何处理?
    • 不确定,您想在这里实现什么。分配 IP 不是推荐的方法。您应该使用 docker 网络连接机器/网络。
    • 这只是一个例子,实际上是arguments容器文件路径、端口号等
    • 如果可能,请分享您的用例。也可以参考这个stackoverflow.com/questions/34254200/…
    • 我必须为 tomcat 服务器创建一个容器。我有一个 tomcat.conf 文件,因为我需要映射其他服务的端口号及其 dns 名称等。所以我创建了一个 shell 脚本来根据 docker run 命令期间提供的参数更新这些值。我无法在容器启动期间使用参数执行该脚本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2022-01-09
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多