【问题标题】:Pass args to image in docker-compose.yml将 args 传递给 docker-compose.yml 中的图像
【发布时间】:2021-03-17 14:28:13
【问题描述】:

目前,我的 docker-compose.yml 正在构建一个图像。我有一张来自第 3 方的图像,我需要将它与我自己的图像一起添加,我自己的图像将依赖于它。当独立运行第 3 方图像时,我需要像这样向它传递一个参数:

docker run third_party/image --argument_flag

我如何将它翻译成 docker-compose.yml 以便通过 argument_flag。这是我的 yml(名称已概括)。

version: '3'
services:
  my_app:
    build: .
    volumes:
      - .:/my_app_folder
    depends_on: 
      - "third_party"
  third_party:
    image: third_party/image
    ports:
      - "8050:8050"

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    您可以通过覆盖默认的command 来传递您的参数

    【讨论】:

      【解决方案2】:

      在 Dockerfile 中你可以得到参数 ARGUMENT:

      docker-compose build --build-arg PRODUCTION=VALUE
      

      Dockerfile:

      ARG ARGUMENT
      FROM node:latest
      

      或尝试检查一下: How to pass arguments within docker-compose? 好像答案已经有了

      【讨论】:

      • args 用于构建,而不是图像
      • @MattMcNair 你的意思是,图像不是容器?
      【解决方案3】:

      在 docker-compose 文件中你可以像这样添加。 docker-compose 文件中的 'args' 标签代表与 docker run 相同的参数。

        third_party:
          image: third_party/image
          args:
             some_variable_name: some_value
          ports:
            - "8050:8050"
      

      【讨论】:

      • 参数用于构建而不是图像
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多