[英]Docker /run/secrets is not mount
我正在嘗試通過秘密提供憑據。 我定義了它們:
$ docker secret ls
ID NAME DRIVER CREATED UPDATED
klsvqjji6bqymndpt3gp1n5na mysql-password 35 minutes ago 35 minutes ago
qpxtfsd2qcah35untcma5qb41 mysql-root-password 34 minutes ago 34 minutes ago
mee647yty7uzlxnur1cmf7xg4 mysql-user 35 minutes ago 35 minutes ago
...我在docker-compose.yml
文件中使用了它們:
version: "3.3"
secrets:
mysql-user:
external: true
mysql-password:
external: true
mysql-root-password:
external: true
services:
db:
image: mariadb:10.4.5
secrets:
- mysql-user
- mysql-password
- mysql-root-password
environment:
MYSQL_USER: /run/secrets/mysql-user
MYSQL_PASSWORD: /run/secrets/mysql-password
MYSQL_ROOT_PASSWORD: /run/secrets/mysql-root-password
MYSQL_DATABASE: db
command: ls -l /run
docker-compose up
返回:
db_1 | total 16
db_1 | drwxrwxrwt 2 root root 4096 May 15 14:06 lock
db_1 | drwxr-xr-x 2 root root 4096 May 15 14:06 mount
db_1 | drwxrwxrwx 2 mysql mysql 4096 Jun 4 21:20 mysqld
db_1 | drwxr-xr-x 2 root root 4096 May 15 21:20 systemd
db_1 | -rw-rw-r-- 1 root utmp 0 May 15 14:06 utmp
db-security-test_db_1 exited with code 0
如您所見,沒有 secrets directory
。 為什么? 我錯過了什么?
Docker 版本為 19.03.3。
Docker Compose 版本為 1.14.1。
您需要 append _FILE 到 env 變量,導致初始化腳本從容器中存在的文件加載這些變量的值。 特別是,這可用於從存儲在 /run/secrets/ 文件中的 Docker 機密中加載密碼。 例如:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mariadb:tag
目前,這僅支持
- MYSQL_ROOT_PASSWORD
- MYSQL_ROOT_HOST
- MYSQL_DATABASE
- MYSQL_USER
- MYSQL_PASSWORD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.