如何使用env_file在docker compose中隐藏Mysql密码


version: '3'
services:
db:
image: "mysql:5.7"
volumes:
- data-mysql:/var/lib/mysql
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
data-mysql:
driver: local

谢谢曼尼

不需要env文件。如果在docker composeenvironment定义中只使用变量名,其值将自动从主机转移到容器:

services:
db:
image: "mysql:5.7"
ports: ['3306:3306']
environment:
MYSQL_ROOT_PASSWORD: 

来自文件:

只有一个键的环境变量被解析为Compose运行的计算机上的值,可以是有助于获取机密或主机特定值。

如果出于某种原因,您想要或需要使用env文件,您也可以:

services:
db:
image: "mysql:5.7"
ports: ['3306:3306']
env_file:
- production.env

在您的production.env文件(或您命名的任何文件(中,只需放入key=value:行

MYSQL_ROOT_PASSWORD=7op-s3cr37

另请参见"env_file"配置选项。

最新更新