通常,您是通过显式地向其他容器提供相同的环境变量来实现的。如果你用的是
docker-compose.yml
version: 3
services:
database:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
frontend:
image: webserver
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
如果你设置了
MYSQL_ROOT_PASSWORD
.env
文件,将为两个
database
和
frontend
集装箱。如果你不使用
docker-compose
database.env
包含:
MYSQL_ROOT_PASSWORD=secret
docker run --env-file database.env ...
.
文件夹
. 因此,另一种选择是让数据库容器将包含密码的文件写入共享卷,然后在其他容器中读取。