• 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
    

      访问测试:

      

      可以看到配置文件是可以被容器应用的。

  • 相关阅读:
    软件工程课程总结
    团队-student_blog-最终程序
    课后作业-阅读任务-阅读提问-3
    课后作业-阅读任务-阅读笔记-3
    《团队-爬虫豆瓣top250项目-团队一阶段互评》
    爬虫豆瓣top250项目-开发文档
    《结对-英文词频统计-结对项目总结》
    JAVA实现最短距离算法之迪杰斯特拉算法
    切词框架jcseg,入门
    本人对于netty框架的一些理解,怎么与网站上的websock建立连接
  • 原文地址:https://www.cnblogs.com/bigberg/p/8819152.html
Copyright © 2020-2023  润新知