Docker Swarm集群secrets中管理敏感数据
在Swarm集群中管理敏感數(shù)據(jù)
以往管理敏感數(shù)據(jù)的姿勢(shì)通常是 密鑰放鏡像中、設(shè)置環(huán)境變量、volume動(dòng)態(tài)掛載等。Docker目前提供了secrets管理功能,用戶可以在Swarm集群中安全地管理密碼、密鑰證書等銘感數(shù)據(jù),并允許在多個(gè)Docker容器實(shí)例之間共享訪問指定的敏感數(shù)據(jù)。
Ps: secret 可以在Docker Compose中使用。
?
創(chuàng)建secret
openssl rand -base64 20 | docker secret create xxxxpassword -
然后docker secret ls查看結(jié)果
?
然后在創(chuàng)建服務(wù)的時(shí)候可以這么引入(隨便起一個(gè)redis)
docker service create \
--name redis \
--secret source=xxxxpassword,target=xxxxpassword \
redis:3.0.6
?
一但出現(xiàn)--secret引入,并且如果target不寫路徑就會(huì)默認(rèn)在容器的
/run/secrets?下生成文件,比如上面的那個(gè)redis,創(chuàng)建之后直接 docker exec -it xxxxx bash
登錄上去之后,cd到/run/secrets下:
?
也可以在docker-compose.yml里面用,如下:
?
執(zhí)行這個(gè)安裝docker stack deploy -c docker-compose.yml nginx
?
Ps: 注意格式,注意版本號(hào)別太低。
docker exec -it xxx bash 登錄到容器上之后
?
還有就是如果是上面的secret相關(guān)都是通過命令行creat創(chuàng)建的,如果是本地文件的話,yml文件可以這么寫:
?
我重新部署了一遍。最終在容器上(注意是跑起來的容器里面)可以看到這個(gè)
?
OK secret相關(guān)就整理到這。書上的例子既復(fù)雜又跑不起來,折騰了好久。上面的例子是我自己簡化的。希望能理解用法。
?
總結(jié)
以上是生活随笔為你收集整理的Docker Swarm集群secrets中管理敏感数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 集群 图形化显示 Visu
- 下一篇: Docker Swarm集群config