带有外部参数文件的 Dockerfile

标签 docker dockerfile

我有 2 个 Dockerfile,它们具有公共(public)参数 (ARG),这些参数被传递到实际命令 (RUN) 来构建镜像。

是否可以提供一个带有参数的外部文件,以便当我需要更新其中一个文件时,我不需要触及两个 Dockerfile?

最佳答案

ARG 旨在从构建命令行进行修改,因此您可以运行:

docker build --build-arg VAR=value -t your_image .

可以将其放置在 shell 脚本中以实现自动化,并将相同的参数传递给每个构建。

您还可以使用撰写文件,该撰写文件可以使用环境变量或 .env 文件来设置撰写文件内部使用的变量,例如

build:
  context: ./your_app_dir
  dockerfile: Dockerfile
  args:
    VAR: ${VALUE}

.env 将包含:

VALUE=your_value

有关撰写文件的更多详细信息,请参阅 the build syntax还有the environment file syntax .

关于带有外部参数文件的 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42027380/

相关文章:

docker - 为什么Dockerfile可以构建但无法正常运行,即使它可以手动运行?

docker - 主管未启动

mysql - Docker 应用程序中的数据库

docker-compose up 错误,地址无效

Ubuntu,Docker - proxyconnect tcp : tls: oversized record received with length 20527

node.js - 通过 WebStorm 运行/调试配置在 docker node.js 应用程序上设置私有(private) npm 注册表

docker - Docker-使用标签影响启动顺序

docker - Docker构建dockerfile

Docker 中的 python2 解释器不支持使用 PyCharm 远程创建项目

docker - 在哪里可以找到 docker 镜像的 sha256 代码?