1

我有一个具有 4 个较低层的 docker 映像。

我想使用多阶段减小当前映像层的大小,但这会导致跨阶段丢失环境、端口和 cmd 配置属性。有没有办法在Dockerfile.

4

1 回答 1

1

您可以执行以下操作之一

使用基础容器并在那里设置环境值

FROM alpine:latest as base
ARG version_default
ENV version=$version_default

FROM base
RUN echo ${version}

FROM base
RUN echo ${version}

其他方法ARGS如下使用。有一些重复,但它变得更加集中

ARG version_default=v1

FROM alpine:latest as base1
ARG version_default
ENV version=$version_default
RUN echo ${version}
RUN echo ${version_default}

FROM alpine:latest as base2
ARG version_default
RUN echo ${version_default}

注意从https://github.com/moby/moby/issues/37345复制的示例

于 2019-12-03T07:32:11.487 回答