7.8 Docker Secret管理和使用

创建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

你可能感兴趣的:(docker)