我的 Docker 容器在运行时不断重启docker-compose up -d
。使用 检查日志时docker logs --tail 50 --follow --timestamps db
,出现以下错误:
/usr/local/bin/docker-entrypoint.sh: line 37: "/run/secrets/db_mysql_root_pw": No such file or directory
这可能意味着没有秘密。的输出docker secret ls
也没有给出任何秘密。
我的 docker-compose.yml 文件看起来像这样(不包括端口信息等):
version: '3.4'
services:
db:
image: mysql:8.0
container_name: db
restart: always
environment:
- MYSQL_USER_FILE="/run/secrets/db_mysql_user"
- MYSQL_PASSWORD_FILE="/run/secrets/db_mysql_user_pw"
- MYSQL_ROOT_PASSWORD_FILE="/run/secrets/db_mysql_root_pw"
secrets:
- db_mysql_user
- db_mysql_user_pw
- db_mysql_root_pw
volumes:
- "./mysql-data:/docker-entrypoint-initdb.d"
secrets:
db_mysql_user:
file: ./db_mysql_user.txt
db_mysql_user_pw:
file: ./db_mysql_user_pw.txt
db_mysql_root_pw:
file: ./db_mysql_root_pw.txt
在同一目录中,我有 3 个文本文件,其中仅包含环境变量的值。例如db_mysql_user_pw.txt
包含password
.
我在 Windows 主机上运行 Linux 容器。