我有几个docker- compose.yml文件,我希望将它们与同一个Dockerfile一起使用,但略有不同。因此,我想将参数传递给该Dockerfile,以便根据变量设置为什么值来做一些稍有不同的操作。
到目前为止我尝试过的
docker-compose-A.yml文件
version: '2' services: django: build: context: . dockerfile: ./docker/Dockerfile args: - SOMETHING=foo
docker-compose-B.yml文件
version: '2' services: django: build: context: . dockerfile: ./docker/Dockerfile args: - SOMETHING=bar
我有一个要在其中使用SOMETHING的dockerfile。
# Dockerfile RUN echo $SOMETHING
那不行 SOMETHING未传递到dockerfile。
我这样做有误还是不是预期的用途?
还有其他方法可以将变量从docker-compose.yml文件传递到Dockerfile吗?
基本上我错过了在Dockerfile中声明arg的机会。
# docker-compose.yml file version: '2' services: django: build: context: . dockerfile: ./docker/Dockerfile args: - SOMETHING=foo # Dockerfile ARG SOMETHING RUN echo $SOMETHING
喊@Lauri给我看光。