docker build with --build-arg 带有多个参数

新手上路,请多包涵

根据 文档,可以为标志定义多个参数 --build-arg ,但我不知道如何。我尝试了以下方法:

 docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .

=> 这会返回一个错误。

我也试过:

 docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .

=> 这会将一个变量 number_of_shards 设置为值 “5,number_of_replicas=2”

知道如何定义多个参数吗?

原文由 Emilien Brigand 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 5.8k
2 个回答

对每个参数使用 --build-arg

如果您要传递两个参数,则添加 --build-arg 每个参数如下:

 docker build \
-t essearch/ess-elasticsearch:1.7.6 \
--build-arg number_of_shards=5 \
--build-arg number_of_replicas=2 \
--no-cache .

原文由 pl_rock 发布,翻译遵循 CC BY-SA 4.0 许可协议

pl_rock 的上述回答是正确的,我唯一要添加的是期望 Dockerfile 中的 ARG,否则您将无法访问它。所以如果你在做

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 --build-arg number_of_replicas=2 --no-cache .

然后在 Dockerfile 中你应该添加

ARG number_of_replicas
ARG number_of_shards

我遇到了这个问题,所以我希望将来能帮助某人(我自己)。

原文由 Javier Perez 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题