docker下使用disconf:极速体验

前面的文章中我们实战了docker下搭建disconf环境,现在我们学习如何使用disconf提供的动态配置服务,本章我们不深入研究,而是以最快的速度体验一个Java做的demo,此demo的功能是每隔5秒输出一组来自disconf的配置信息,内容是一个ip地址和一个端口,如果在disconf上改变了这个配置信息的内容,这个demo会立即收到配置改变的通知,并且再次输出的时候已经是最新的配置了;

下面开始极速体验吧:

新建一个Docker-compose.yml文件,内容如下:

version: ‘2‘
services:
  disconf_redis_1:
    image: daocloud.io/library/redis
    restart: always
  disconf_redis_2:
    image: daocloud.io/library/redis
    restart: always
  disconf_zookeeper:
    image: zookeeper:3.3.6
    restart: always
  disconf_mysql:
    image: bolingcavalry/disconf_mysql:0.0.1
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    restart: always
  disconf_tomcat:
    image: bolingcavalry/disconf_tomcat:0.0.1
    links:
      - disconf_redis_1:redishost001
      - disconf_redis_2:redishost002
      - disconf_zookeeper:zkhost
      - disconf_mysql:mysqlhost
    restart: always
  disconf_nginx:
    image: bolingcavalry/disconf_nginx:0.0.1
    links:
      - disconf_tomcat:tomcathost
    ports:
      - "80:80"
    restart: always
  disconf_java:
    image: bolingcavalry/disconf_standalone_demo:0.0.1
    links:
      - disconf_nginx:nginxhost
      - disconf_zookeeper:zkhost
    restart: always  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

打开控制台,在上述文件目录下执行:

docker-compose up -d
  • 1
  • 1

由于要去hub.docker.com上下载六个镜像,可能会一段等待下载的时间,下载结束后会自动创建七个容器,如下图:

上图红框中的就是我们今天体验demo的容器名称(注意:不同电脑上容器的前缀后缀的数字可能不一样),执行以下命令进入到demo容器中:

docker exec -it 05_disconf_java_1 /bin/bash
  • 1
  • 1

进入容器后,进入/usr/local/work目录下,执行./start.sh命令启动demo,控制台输出如下图:

如上图红框所示,每隔五秒钟就会有输出一个配置信息,包括IP和端口,这些数据从何而来呢?

我们在浏览器上输入localhost可以打开disconf管理页面,用户名密码都是admin,登录成功后按照下图所示操作,就能看到这个demo里用到的配置信息:

接下来我们体验一下配置变化后,demo上被实时通知变化的效果,点击下图红框中的位置:

如下图,修改方式选择“输入文本“:

把配置文件的值改成另一个,如下图红框所示,改完再点击底部的“上传“按钮:

回到demo容器的控制台,如下图,可以看到点击上传按钮的同时,控制台输出了收到通知的信息(红框中的内容),并且输出的ip已经变成最新的了(篮框中的内容):

以上就是简单体验disconf效果的简易demo,可以发现disconf的配置信息能让服务使用方实时感知和获取到,对开发和运营来说都是个很有用的工具,本章只是初步体验,下一章我们会通过代码对disconf的使用做进一步了解。

时间: 2024-10-11 21:59:12

docker下使用disconf:极速体验的相关文章

docker下使用disconf:细说demo开发

在上一章<docker下使用disconf:极速体验>中我们体验了disconf服务的使用方获取配置以及实时感知到这个配置变化的效果,今天我们一起来实践这个demo的开发过程,学会在项目中使用disconf服务. 此demo源于disconf官网的demo(Git地址:[email protected]:knightliao/disconf-demos-Java.git,下有三个工程,此文的demo源自其中的disconf-standalone-demo),官方demo展示了大而全的功能,做为

Docker下实战zabbix三部曲之一:极速体验

对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践: 环境信息 以下是本次操作的环境: 操作系统:MacBook Pro Docker:19.03.2 全系列文章链接: 三部曲系列一共三篇文章,链接如下: <Docker下实战zabbix三部曲之一:极速体验>: <Docker下实战zabbix三部曲之二:监控其他机器>: <Docker下实

docker下的Jenkins安装和体验【转】

作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到,本次实战我们在docker下快速搭建一个Jenkins服务,并体验其项目构建能力: 实战环境 windows.mac.linux等系统,只要装了docker服务都可以作为实战环境,我用的是ubuntu16,安装的docker版本是:17.03.2-ce: 准备文件映射路径 jenkins的容器启动后,重要的文件我们希望能保存在当前电脑,否则容器被损坏或者删除后就找不回这些文件了,因此要在当前电脑上准备一个目录作为文件映射,注意文

Docker深入浅出系列 | 容器初体验

Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方文档,本章目标如下: 了解什么是Docker 了解Docker解决了什么 了解什么是镜像和容器 了解容器与虚拟机的区别 了解Vagrant与Docker的区别 了解Docker引擎和架构 了解Docker的镜像分层 了解VirturalBox和Do

在Docker下部署Nginx

在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_pass将HTTP请求反向代理到nodejs Web App 设置HTTPS 如果你还没有安装Docker环境,可参考在Docker中运行Node.js的Web应用. 最简单的命令,让Nginx跑起来 命令如下: 1 $ sudo docker run -it -p 80:80 dockerfile/

Docker下使用daocloud镜像加速(基于Centos6)

Docker加速器使用时不需要任何额外操作.就像这样下载官方Ubuntu镜像 实际操作(添加镜像源):在 /etc/sysconfig/docker下添加两条命令 other_args="--registry-mirror=http://74ecfe5d.m.daocloud.io" OPTIONS='--registry-mirror= http://74ecfe5d.m.daocloud.io' 重启Docker服务,让配置生效: [[email protected] ~]# /e

Docker下使用网桥形式

要在Docker下使用网桥形式让外网直接访问内网,需要对docker进行一些配置,实际测试如下(需要注意docker版本的问题) # eth1:192.168.56.101 # eth2: 192.168.58.101 # 192.168.56.0/24     管理网络 # 192.168.58.0/24     数据网络,容器使用的网络 # 切换到 root 用户执行以下命令 1.配置 Linux Bridge brctl addbr br0 ip addr add 192.168.58.1

千万级下载量产品深度体验&mdash;手机音乐客户端

VINCENT MK http://www.cnblogs.com/mkvin/ QQ:350510376 引言 手机音乐客户端是每个手机用户几乎都高频率使用的一个产品,从功能机时代到智能机时代都一直如此.听音乐似乎是人们的天性,伴随音乐的响起,在各种复杂的生理因素的作用下,音乐可以带给人幸福和满足感. 一款好的音乐客户端产品,必须要满足用户查找歌曲.听歌曲这两个基本的诉求. 目前的音乐客户端都一定会有本地和在线听音乐的功能,当然在线音乐功能需要产品提供海量的曲库和优秀的音频来源,这是吸引用户使

docker下的mysql无法启动

问题: mysql启动报如下错误---------ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 场景: docker下创建一个mysql镜像,删除后,进行了再次的重构.却无法启动mysql. 解决: 上网搜了一下,做了一些大概的判断然后,就去查看自己的SELINUX状态.果然是SElinux的问题. 关于如何关闭selinux,请查看下一