栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用docker-compose v3.1管理机密值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用docker-compose v3.1管理机密值?

您可以阅读官方文档中的相应部分。

要使用机密,您需要在

docker-compose.yml
文件中添加两件事。首先,一个
secrets:
定义所有机密的顶级块。然后,另一个
secrets:
每个服务下块,它指定
秘密服务应该接收。

作为示例,创建Docker将理解的两种类型的秘密: 外部 秘密和 文件 秘密。

1.使用以下命令创建“外部”秘密
docker secret create

第一件事:要在Docker上使用机密,您所在的节点必须是集群的一部分。

$ docker swarm init

接下来,创建一个“外部”秘密:

$ echo "This is an external secret" | docker secret create my_external_secret -

(请确保在最后加上破折号

-
。很容易错过。)

2.将另一个秘密写入文件

$ echo "This is a file secret." > my_file_secret.txt

3.创建
docker-compose.yml
同时使用两个秘密的文件

现在已经创建了两种类型的机密,下面是

docker-compose.yml
将读取这两种机密并将其写入
web
服务的文件:

version: '3.1'services:  web:    image: nginxdemos/hello    secrets:         # secrets block only for 'web' service     - my_external_secret     - my_file_secretsecrets:  # top level secrets block  my_external_secret:    external: true  my_file_secret:    file: my_file_secret.txt

Docker可以从自己的数据库(例如使用制成的秘密

docker secret create
)或文件中读取秘密。上面显示了两个示例。

4.部署测试堆栈

使用以下方法部署堆栈:

$ docker stack deploy --compose-file=docker-compose.yml secret_test

这将创建一个

web
名为的服务实例
secret_test_web

5.验证由服务创建的容器具有两个秘密

使用

docker exec -ti [container] /bin/sh
验证的秘密存在。

(注意:在下面的

docker exec
命令中,该
m2jgac...
部分在您的计算机上将有所不同。运行
docker ps
以查找您的容器名称。)

$ docker exec -ti secret_test_web.1.m2jgacogzsiaqhgq1z0yrwekd /bin/sh# Now inside secret_test_web; secrets are contained in /run/secrets/root@secret_test_web:~$ cd /run/secrets/root@secret_test_web:/run/secrets$ lsmy_external_secret  my_file_secretroot@secret_test_web:/run/secrets$ cat my_external_secretThis is an external secretroot@secret_test_web:/run/secrets$ cat my_file_secretThis is a file secret.

如果一切顺利,我们在步骤1和2中创建的两个秘密应该位于

web
部署堆栈时创建的容器内。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号