在容器之间使变量可用?

时间:2015-12-16 17:01:04

标签: linux docker dockerfile docker-compose

当我阅读Docker docs时,我得到的印象是,在使用Docker Compose时,可以从另一个容器中的一个容器中创建一个变量。

所以在容器A中我用脚本

export PASS=abc

docker-compose.yml

containera:
  image: ...
  environment:
    - PASS

containerb:
  build: ...
  links:
    - containera:ca

但是当我在容器B中执行env时,PASS为空。

问题

如何在容器B中的容器A中生成PASS的生成值?

1 个答案:

答案 0 :(得分:1)

Docker只共享源自Docker的环境变量。 see their docs here

由于您的值是由containera中运行的进程生成的,因此Docker无法识别其值。

您需要:

  • 在Dockerfile / docker-compose.yml
  • 中设置静态值
  • 设置一个带有端口/端点的静态ENV变量,用于访问containera内的服务,该服务将返回生成的密码/令牌。