使变量在容器之间可用?
Making a variable available between containers?
当我阅读 Docker docs 时,我的印象是使用 Docker Compose 时可以使一个容器中的变量在另一个容器中可用。
所以在容器 A 中我在脚本中做
export PASS=abc
并在 docker-compose.yml
containera:
image: ...
environment:
- PASS
containerb:
build: ...
links:
- containera:ca
但是当我在容器 B 中执行 env
时,PASS
是空的。
问题
如何使容器 A 中 PASS
的生成值在容器 B 中可用?
Docker 仅共享源自 Docker 的环境变量。 see their docs here
由于您的价值是由 containera
中的过程 运行 产生的,Docker 不知道它的价值。
您需要:
- 在Dockerfile/docker-compose.yml
中设置一个静态值
- 设置一个带有 port/endpoint 的静态 ENV 变量,用于访问
containera
内的服务,该服务将 return 生成的 password/token.
当我阅读 Docker docs 时,我的印象是使用 Docker Compose 时可以使一个容器中的变量在另一个容器中可用。
所以在容器 A 中我在脚本中做
export PASS=abc
并在 docker-compose.yml
containera:
image: ...
environment:
- PASS
containerb:
build: ...
links:
- containera:ca
但是当我在容器 B 中执行 env
时,PASS
是空的。
问题
如何使容器 A 中 PASS
的生成值在容器 B 中可用?
Docker 仅共享源自 Docker 的环境变量。 see their docs here
由于您的价值是由 containera
中的过程 运行 产生的,Docker 不知道它的价值。
您需要:
- 在Dockerfile/docker-compose.yml 中设置一个静态值
- 设置一个带有 port/endpoint 的静态 ENV 变量,用于访问
containera
内的服务,该服务将 return 生成的 password/token.