创立 secret
基于一个含明文的文原本创立
password.txt 的内容如下
siguoya
生成密钥
[vagrant@swarm-manager wordpress-overlay]$ docker secret create login-password password.txt
k5hf3i5ghi62moakgramxeq85
删除明文文件
rm -f password.txt
查看密钥
[vagrant@swarm-manager wordpress-overlay]$ docker secret ls
ID NAME DRIVER CREATED UPDATED
k5hf3i5ghi62moakgramxeq85 login-password About a minute ago About a minute ago
[vagrant@swarm-manager wordpress-overlay]$ docker secret inspect login-password
[
{
"ID": "k5hf3i5ghi62moakgramxeq85",
"Version": {"Index": 477},
"CreatedAt": "2018-07-05T09:24:11.316878415Z",
"UpdatedAt": "2018-07-05T09:24:11.316878415Z",
"Spec": {
"Name": "login-password",
"Labels": {}}
}
]
应用 secret
# 应用 --secret 导入密钥
docker service create --secret login-password --name busybox busybox /bin/sh -c "while true;do sleep 3600;done"
# 在 /run/secrets/ 目录能够查看到所有的密钥文件,文件内容是密钥的明文
[vagrant@swarm-work1 ~]$ docker exec 900f45b51648 cat /run/secrets/login-password
siguoya
创立一个应用 docker secret 的容器
docker service create --name mysql --secret login-password --env MYSQL_ROOT_PASSWORD_FILE=/run/secrets/login-password mysql:5.7.22