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