怎么在码头工人中利用组合引用环境变量

  介绍

这篇文章给大家介绍怎么在码头工人中利用组合引用环境变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>组成CLI与环境变量

组成CLI(组合命令行即docker-compose程序)能够识别名称为COMPOSE_PROJECT_NAME和COMPOSE_FILE等环境变量(具体支持的环境变量请参考这里)。比如我们可以通过这两个环境变量为docker-compose指定项目的名称和配置文件:

,美元export  COMPOSE_PROJECT_NAME=TestVar   美元,export  COMPOSE_FILE=~//composecounter/docker-compose项目。yml

怎么在码头工人中利用组合引用环境变量

然后启动应用,显示的项目名称都是我们在环境变量中指定的:

怎么在码头工人中利用组合引用环境变量

如果设置了环境变量的同时又指定了命令行选项,那么会应用命令行选项的设置:

,美元docker-compose  -p  nickproject  up  - d

怎么在码头工人中利用组合引用环境变量

<强>在撰写文件中引用环境变量

我们还可以在构建文件中直接引用环境变量,比如下面的演示:

版本:,& # 39;3 & # 39;   ,服务:   ,网络:   ,,图片:$ {IMAGETAG}   港口:才能   之处,才能“5000:5000"   ,复述,:   ,,形象:“复述:alpine"

我们通过环境变量$ {IMAGETAG}指定了web的镜像、下面通过出口的方式来为组合配置文件中的环境变量传值:

怎么在码头工人中利用组合引用环境变量

注意,如果对应的环境变量没有被设置,那么组成就会把它替换为一个空字符串:

怎么在码头工人中利用组合引用环境变量

碰到这种情况,我们可以在组成的配置文件中为该变量设置一个默认值:

版本:,& # 39;3 & # 39;   服务:   ,网络:   ,图片:$ {IMAGETAG: -defaultwebimage}   ,港口:   之处,才能“5000:5000"   ,复述,:   ,形象:“复述:alpine"

这样,如果没有设置IMAGETAG变量,就会应用defaultwebimage:

怎么在码头工人中利用组合引用环境变量

除了这种方式,我们还可以通过后面将介绍的.env文件来为环境变量设置默认值。

<强>把环境变量传递给容器

先来看一下在写文件中如何为容器设置环境变量:

网络:   ,环境:   之前,调试:1

组成文件中环境的节点用来为容器设置环境变量,上面的写法等同于:

,美元docker  run  -e 调试=1

要把当前壳环境变量的值传递给容器的环境变量也很简单,去掉上面代码中的赋值部分就可以了:

网络:   ,环境:   之前,调试:

这种情况下,如果没有在当前的shell中导出环境变量调试、编写文件中会把它解释为零:

怎么在码头工人中利用组合引用环境变量

在试试导出环境变量调试的情况:

,美元export 调试=1

怎么在码头工人中利用组合引用环境变量

这才是我们设计的正确的使用场景!

<强>使用文件为容器设置多个环境变量

如果觉得通过环境为容器设置环境变量不够过瘾,我们还可以像码头工人国营的——env-file参数一样通过文件为容器设置环境变量:

网络:   ,env_file:   ,安康;web-variables.env

注意,web-variables。env文件的路径是相对于docker-compose。yml文件的相对路径。上面的代码效果与下面的代码相同:

,美元docker  run ——env-file=web-variables.env

web-variables。env文件中可以定义一个或多个环境变量:

#, define  web  container  env   浏览器名称=helloworld   作者=Nick 李   以前版本=1.0

怎么在码头工人中利用组合引用环境变量