e-i*_*128 6 bash docker docker-secrets
我需要创建一个 MariaDB docker 容器,但需要设置 root 密码,但密码是使用命令行参数设置的,这对于.bash_history.
我尝试使用秘密print pass | docker secret create mysql-root -,但有同样的问题,密码保存到.bash_history. docker 的秘密并不是很秘密。
我尝试使用交互式命令:
while read -e line; do printf $line | docker secret create mysql-root -; break; done;
Run Code Online (Sandbox Code Playgroud)
但是,真的很丑xD。为什么创建 docker 秘密的更好方法是不将其保存到 bash 历史记录中,但又不删除所有 bash 历史记录?
你可以尝试
printf $line | sudo docker secret create MYSQL_ROOT_PASSWORD -
Run Code Online (Sandbox Code Playgroud)
进而
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mariadb:tag
Run Code Online (Sandbox Code Playgroud)
有关在 MariaDB 中使用机密的信息可以在DockerHub 的 MariaDB 页面上找到。
“Docker Secrets 作为通过环境变量传递敏感信息的替代方案,_FILE可以附加到之前列出的环境变量中,从而导致初始化脚本从容器中存在的文件加载这些变量的值。特别是,这可用于从存储在文件中的 Docker 机密加载密码/run/secrets/<secret_name>。例如:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mariadb:tag
Run Code Online (Sandbox Code Playgroud)
目前,仅支持MYSQL_ROOT_PASSWORD、MYSQL_ROOT_HOST、MYSQL_DATABASE、MYSQL_USER和MYSQL_PASSWORD"
| 归档时间: |
|
| 查看次数: |
1449 次 |
| 最近记录: |