我正在尝试在 docker 容器中部署我的 PHP 应用程序。使用 docker secret 我想存储 MySQL 数据库的密码。首先,我创建了一个 docker secret mysql_password。我的 docker-compose 文件是 -
version: '3.9'
services:
php:
image: 'php:7.2-fpm'
build:
context: ./docker
dockerfile: php.Dockerfile
volumes:
- './app:/var/www/html'
environment:
MYSQL_PASSWORD_FILE: /run/secrets/mysql_password
secrets:
- mysql_password
nginx:
image: nginx:latest
ports:
- '80:80'
links:
- 'php'
volumes:
- './app:/var/www/html'
- './config/nginx:/etc/nginx/conf.d'
secrets:
mysql_password:
external: true
- 当我尝试访问秘密“mysql_password”时,没有返回任何内容。如果我尝试环境元素“MYSQL_PASSWORD_FILE”,它会给我一个秘密路径,即“/run/secrets/mysql_password”。
- 要访问 PHP 中的环境变量,我使用了 .$_ENV["mysql_password"]