将ARG传递给父docker阶段

将ARG传递给父docker阶段,docker,dockerfile,Docker,Dockerfile,我们正在编写几段代码,这些代码在不同目录的Dockerfile中几乎使用相同的逻辑 我想实现类似的目标 ARG image=python:3.7-alpine FROM $image as python_base ARG CODE_DIR ARG API=internal WORKDIR /orka # Copy in api files COPY ./orka_engine_api/orka_api/common.py ./orka_engine/orka_api/ COPY ./orka

我们正在编写几段代码,这些代码在不同目录的Dockerfile中几乎使用相同的逻辑

我想实现类似的目标

ARG image=python:3.7-alpine
FROM $image as python_base
ARG CODE_DIR
ARG API=internal

WORKDIR /orka

# Copy in api files
COPY ./orka_engine_api/orka_api/common.py ./orka_engine/orka_api/
COPY ./orka_engine_api/orka_api/$ARG_API.py ./orka_engine/orka_api/

# Copy in the code
COPY $CODE_DIR ./$CODE_DIR

# make utils and code modules importable
ENV PYTHONPATH $PYTHONPATH:/orka/orka_engine/python_libs/:/orka/$CODE_DIR


FROM python_base as www CODE_DIR=www API=external
RUN apk update && apk add wget && rm -rf /var/cache/apk/*
ENTRYPOINT ["python", "-m", "main"]


FROM python_base as worker CODE_DIR=worker
ENTRYPOINT ["python", "-m", "main"]

也就是说,我希望能够专门在Dockerfile构建参数中为父阶段使用。我可以这样做吗?

您想跳过
ARG image
的值吗?直到拼写错误,我都希望您发布的Dockerfile能够正常工作。你有什么特别的问题吗?