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
访问测试:
可以看到配置文件是可以被容器应用的。
Swarm配置文件管理的更多相关文章
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- Python-day3作业-haproxy配置文件管理脚本
#!/usr/bin/env python import os,sys,time,re,prettytable,json from collections import defaultdict,Ord ...
- 【C#进阶系列】03 配置文件管理与程序集的引用版本重定向
先来点与标题不相关的: CLR支持两种程序集:弱命名程序集和强命名程序集. 两者的区别在于强命名程序集使用发布者的公钥和私钥进行签名.由于程序集被唯一性地标识,所以当应用程序绑定到强命名程序集时,CL ...
- C#配置文件管理
最近在做项目的过程中用到配置文件,本文简要说明本人在项目过程中是如何使用配置文件的,目的是加深自己对配置文件管理的理解,以便在下次使用时能做到轻松自如. 配置文件,顾名思义,是用户在使用系统或者软件时 ...
- 死磕salt系列-salt 配置文件管理
SLS是Salt State系统的核心,用来描述系统的目标状态,使用YAML语言书写.被用作配置文件管理. SLS文件 sls配置文件分为两种类型 top.sls 这是所有配置文件的入口 sls 这是 ...
- disconf实践(四)基于注解的分布式配置文件管理,自动reload
上一篇讲解了基于xml的自动reload的分布式配置文件管理,这一篇讲解基于注解的自动reload的方式(基于disconf实践二). 1. 修改spring配置文件 <?xml version ...
- disconf实践(三)基于XML的分布式配置文件管理,自动reload
上一篇介绍了基于xml的非自动reload的分布式配置文件管理,这一篇介绍自动reload的方式(基于disconf实践二). 1. 修改RedisConfig.java package org.sp ...
- Haproxy安装部署文档及多配置文件管理方案
一.部署安装 二.软件配置 三.系统服务 四.日志配置 五.小结 文章目录 最近我在负责一个统一接入层的建设项目,涉及到 Haproxy 和 ospf 的运维部署,本文分享一下我在部署 Haproxy ...
- CentOS 7配置LNMP开发环境及配置文件管理
安装并配置MySQL 5.6 从CentOS从7.x开始默认使用MariaDB.MariaDB完全兼容MySQL,包括API和命令行.但是很多时候我们还是会想要安装MySQL,所以不能直接通过yum命 ...
随机推荐
- 卸载CentOS7自带的OpenJDK
http://blog.csdn.net/xiegh2014/article/details/52343438
- 10.29 scrum meeting newbe软件团队工作分配
这次会议,我们主要讨论了目前阶段的主要任务与任务分配问题. 首先,通读代码,理解程序的运行方式是必不可少的环节.所以我们要求团队的所有成员通读代码.并且对于开发人员和测试人员,要求写出我们分配的各自模 ...
- Scrum Meeting 11.07
成员 今日任务 明日计划 用时 徐越 赵庶宏 薄霖 卞忠昊 JOSN数据解析 WebView和JavaScript交互基础 3h 武鑫 设计界面:独立完成一些简 ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Seventh Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Seventh Wee ...
- EDK_II环境搭建与测试
一. 环境准备 Windows 10 (64位)专业版 Visual Studio 2010旗舰版(默认路径安装) Mscrosoft SDKs 7.0A BIOS综合包里的EDK开发环境 二. 实验 ...
- C++作业 一
计算圆面积 Github:https://github.com/tinghaishuo/object-oriented/tree/master/circle
- 第一次spring冲刺第6天
鉴于昨天的调查,今天做了个谈论,主要针对以下几个问题 1.我们的客户类型? 2.如何实现他们的需求? 3.他们真正想要什么? 4.如何保证他们的满足度? 5.怎么使得工程不陷入死循环? 6.还存在什么 ...
- cobbler技术详解(是PXE二次详解)
Cobbler是PXE的二次封装,使用Python语言开发, 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学 ...
- PAT 甲级 1001 A+B Format
https://pintia.cn/problem-sets/994805342720868352/problems/994805528788582400 Calculate a + b and ou ...
- sguf冲销脚本的实现
1.该脚本为PCISS项目的sguf冲销脚本: DECLARE type typ_sguf_table is table of sguf_rowid_tab_1%rowtype ; sguf_tab ...