从docker-compose.yml文件将变量传递给Dockerfile

读:

我有几个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给我看光。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在docker-compose.yml中传递Json文件内容

在Dockerfile和docker-compose.yml中编码的内容以在Docker环境中传递本地包

docker-compose构建args没有传递给Dockerfile

不同的环境文件,但与Docker Compose相同的yml?

使用docker-compose时如何将主机用户传递给Dockerfile

如何将docker-compose.yml转换为Dockerfile

docker-compose.yml文件命名约定

在构建时使用docker-compose将环境变量传递给docker映像

将docker-compose .yml用于docker swarm时如何传递POSTGRES_USER env变量

在docker-compose.yml或dockerfile中创建Docker网络

docker-compose:将变量传递给tomcat上下文

在运行时将带有docker-compose.yml的ENV变量传递给Dockerfile

调用时将参数传递给docker-compose yml

如何将环境变量传递给docker-compose的应用程序

Docker-compose args不会传递给Dockerfile

动态将参数传递给docker-compose.yml

将数组从.env传递到docker-compose.yml到Dockerfile到bash脚本

Docker-Compose文件

Dockerfile没有从docker compose传递参数

使用Docker compose传递Dockerfile的参数

Docker:Dockerfile与docker-compose.yml

如何将 ARG 传递给 docker-compose.yml 中的 Dockerfile

docker-compose .yml 文件中的变量替换

将多个 .yml 文件传递给 docker-compose

Docker compose 从 .env 文件中获取 env 变量并传递给 docker build

将 env 变量传递给 docker-compose

将参数传递给 docker-compose 命令

Docker:除了 docker-compose.yml 之外,如何使用 Dockerfile

将 shell 中指定的 ENV 变量从 docker-compose 传递到 Dockerfile