1. 程式人生 > >docker下使用disconf:極速體驗

docker下使用disconf:極速體驗

doc -c attribute http tex iss 如何 eight eas

前面的文章中我們實戰了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的使用做進一步了解。

docker下使用disconf:極速體驗