使用Docker快速打包和部署執行Disconf

2021-07-11 05:46:12 字數 2120 閱讀 3898

docker-disconf是本人學習docker後,嘗試使用docker解決disconf打包和執行問題的作品。disconf是分布式配置管理平台(distributed configuration management platform)的簡稱,使用該平台提供的web介面,可以統一管理多個應用,多個環境的所有配置。disconf是乙個github上的開源專案,在可以找到相關的原始碼和文件。disconf-web是disconf的伺服器端,提供了用於管理分布式配置的web介面。

在disconf-build目錄中執行以下命令構建docker映象,該映象的用於disconf-web的打包

docker build -t yourimgs/disconf-build .
在disconf-build目錄執行以下的命令,打包disconf-war

docker run -v $/working:/home/work/dsp/disconf-rd/working \

-v $/config:/home/work/dsp/disconf-rd/online-resources \

--name disconf-build yourimgs/disconf-build

如果修改了properties檔案,可以通過再次啟動disconf-build容器來打包

docker start disconf-build
如下圖所示,disconf的部署使用到了nginx, tomcat, mysql, redis和zookeeper:

在disconf-compose目錄中執行

docker-compose up
所有容器啟動正常以後,就可以通過http://yourhost:8081訪問disconf-web服務了。

首先應配置disconf.properties指向http://yourhost:8081。disconf的客戶端需要訪問zookeeper,會使用/dockerdisconf/disconf-build/config/zoo.properties中的配置。為了統一配置,docker-disconf的配置使用了disconf-zoo:2181,因此在客戶端所在的主機上需要配置hosts檔案,將主機名disconf-zoo對映到docker所在的伺服器ip。

【說明】本章是早期版本,操作步驟較多。推薦使用前面章節介紹的docker compose部署執行。

1) 啟動乙個redis服務,執行

docker run --name disconf-redis -d redis:3.0
2) 啟動mysql服務,在disconf-mysql目錄執行

docker run --name disconf-mysql -e mysql_root_password=passw0rd -v $/files/sql:/docker-entrypoint-initdb.d \

-v $/data:/var/lib/mysql -d mysql:5.7

3) 建立乙個zookeeper服務,在disconf-zoo目錄下執行

docker build -t yourimgs/disconf-zoo .

docker run --name disconf-zoo -p 2181:2181 -d yourimgs/disconf-zoo

docker run -d --link disconf-mysql:disconf-mysql --link disconf-redis:disconf-redis --link disconf-zoo:disconf-zoo \

5) 在disconf-nginx目錄下執行

docker run --name disconf-nginx -v $/nginx.conf:/etc/nginx/nginx.conf:ro \

-v /home/ubuntu/disconf-build/working/war/html:/home/work/dsp/disconf-rd/war/html:ro \

所有容器啟動正常以後,就可以通過http://yourhost:8081訪問disconf-web服務了。disconf的客戶端需要訪問zookeeper,所以在配置disconf的客戶端時請配置hosts檔案,將主機名disconf-zoo對映到docker所在的伺服器上。

使用docker快速部署rabbitmq單機和集群

節點名稱 ip位址 node1 192.168.130.20 node2 192.168.130.19 node3 192.168.130.21 略第乙個名稱為主機的名稱 第二個是搭建集群用到的名稱 hostname 192.168.130.20 rq node1 192.168.130.19 rq...

使用docker快速部署logstash

節點名稱 ip位址 node1 192.168.130.20 node2 192.168.130.19 node2 192.168.130.21 略啟動容器 docker run d p 5044 5044 name logstash logstash 7.4.1拷貝配置 mkdir p root ...

Docker 打包部署vue

目錄如下 設定基礎映象 from nginx alpine 定義作者 maintainer test 將dist檔案中的內容複製到 etc nginx html 這個目錄下面 copy dist etc nginx html 將配置檔案中的內容複製到 etc nginx 這個目錄下面 增加自己的 及...