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"配置选项。