Swarm配置文件管理
一、前言
Docker 17.06引入了swarm服务配置,允许您在服务映像外部或运行容器中存储非敏感信息,例如配置文件。 这允许您保持镜像尽可能通用,而无需将配置文件绑定到容器或使用环境变量。在Swarm Service中可以随时添加或删除配置,并且service可以共享配置。甚至可以将配置与环境变量或标签结合使用,以获得最大的灵活性。 配置值可以是通用字符串或二进制内容(最大可达500 kb)。
注意:Docker配置仅适用于群集服务,而不适用于独立容器。
二、Docker config
2.1 查看命令
[root@manager ~]# clear [root@manager ~]# docker config --help Usage: docker config COMMAND Manage Docker configs Options: Commands: create Create a config from a file or STDIN inspect Display detailed information on one or more configs ls List configs rm Remove one or more configs
2.1 创建配置文件
# 创建一个nginx的简单配置文件
# 先要有一个配置文件存在
[root@manager ~]# cd /data/conf/
[root@manager conf]# ls
test-nginx.conf
# 内容
[root@manager conf]# cat test-nginx.conf
server {
listen 81;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
# 创建docker swarm 配置
[root@manager conf]# docker config create test.conf test-nginx.conf
3ttdaggwatpjict89yav6kr6x
test.conf : docker config 配置文件
# 查看config 配置文件
[root@manager conf]# docker config ls
ID NAME CREATED UPDATED
3ttdaggwatpjict89yav6kr6x test.conf 2 hours ago 2 hours ago
# 查看详细配置
[root@manager conf]# docker config inspect test.conf
[
{
"ID": "3ttdaggwatpjict89yav6kr6x",
"Version": {
"Index": 21278
},
"CreatedAt": "2018-04-13T03:34:46.900656812Z",
"UpdatedAt": "2018-04-13T03:34:46.900656812Z",
"Spec": {
"Name": "test.conf",
"Labels": {},
"Data": "c2VydmVyIHsKICAgIGxpc3RlbiAgODE7CiAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OwogICAgbG9jYXRpb24gLyB7CiAgICAgICAgICAgIHJvb3QgL3Vzci9zaGFyZS9uZ2lueC9odG1sOwogICAgICAgICAgICBpbmRleCBpbmRleC5odG1sIGluZGV4Lmh0bTsKCX0KfQo="
}
}
]
2.3 创建service
# 现在只有一个副本来测试 [root@manager conf]# docker service create \ --name my-web \ --config src=test.conf,target=/etc/nginx/conf.d/test.conf \ --publish 8081:81 \ nginx 参数: --name : 服务名称 --config : 添加配置 --publish :暴露端口 # 查看在哪个节点 [root@manager ~]# docker service ps my-web ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS jh03twrijdbh my-web.1 nginx:latest node-01 Running Running 2 hours ago # 在node-01做修改 在该nginx容器中默认web访问路径中增加一个页面 echo "Hello Docker.From Swarm Config." > /usr/share/nginx/html/index2.html
访问测试:

可以看到配置文件是可以被容器应用的。
浙公网安备 33010602011771号