2 回答
TA贡献1815条经验 获得超6个赞
尝试env_file在撰写文件中使用来引用您的.env.
这是一个最小的例子:
.
├── docker-compose.yml
├── Dockerfile
├── .env
└── index.php
Dockerfile
FROM php:7.0-apache
COPY ./index.php /var/www/html/
索引.php
<?php
$db_host = getenv('MYSQL_HOST', true) ?: getenv('MYSQL_HOST');
$db_name = getenv('MYSQL_DATABASE', true) ?: getenv('MYSQL_DATABASE');
$db_user = getenv('MYSQL_USER', true) ?: getenv('MYSQL_USER');
$db_pwd = getenv('MYSQL_PASSWORD', true) ?: getenv('MYSQL_PASSWORD');
echo "db_host: {$db_host}<br>";
echo "db_name: {$db_name}<br>";
echo "db_user: {$db_user}<br>";
echo "db_pwd: {$db_pwd}<br>";
?>
docker-compose.yml
version: "3.2"
services:
www:
build: .
ports:
- "30001:80"
- "30443:443"
env_file:
- .env
.env
MYSQL_ROOT_PASSWORD=RootPassword
MYSQL_USER=gnf_user
MYSQL_PASSWORD=UserPassword
MYSQL_DATABASE=gnf_noah
组合容器:
docker-compose up -d --build
TA贡献1818条经验 获得超3个赞
要直接在容器中创建.env文件的环境变量,我们使用docker的env_file配置选项
例如
web: env_file: - .env
这是将环境变量列表传递到容器中的最微妙的方法。
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报