【问题标题】:Change base image based on condition in dockerfile根据 dockerfile 中的条件更改基础镜像
【发布时间】:2021-04-23 13:29:04
【问题描述】:

我想将参数 USE_ALPINE 发送到 docker 文件 如果是真的,我将使用 alpine 图像 如果它是假的,我将使用 debian 图像

USE_ALPINE 的默认值我想将其设置为 false。

【问题讨论】:

标签: docker docker-compose dockerfile docker-build


【解决方案1】:

使用combination of ARG and FROM in Dockerfile

您可以在 FROM 语句中使用在 ARG 中声明的变量。

ARG  APP_IMAGE=alpine:latest
FROM ${APP_IMAGE}
CMD  /path/to/mycode

还可以使用--build-arg option of docker build command 覆盖此值。

docker build -t myapp:v1 --build-arg APP_IMAGE=busybox:latest .

【讨论】:

  • 但要求是使用布尔值,我们有可能这样做吗?
  • 无法在 docker build 中找到任何对布尔标志的内置支持。但是您可以尝试结合多阶段构建和参数。检查这个stackoverflow.com/a/60820156
猜你喜欢
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多