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 \如果修改了properties檔案,可以通過再次啟動disconf-build容器來打包-v $/config:/home/work/dsp/disconf-rd/online-resources \
--name disconf-build yourimgs/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.02) 啟動mysql服務,在disconf-mysql目錄執行
docker run --name disconf-mysql -e mysql_root_password=passw0rd -v $/files/sql:/docker-entrypoint-initdb.d \3) 建立乙個zookeeper服務,在disconf-zoo目錄下執行-v $/data:/var/lib/mysql -d mysql:5.7
docker build -t yourimgs/disconf-zoo .docker run -d --link disconf-mysql:disconf-mysql --link disconf-redis:disconf-redis --link disconf-zoo:disconf-zoo \docker run --name disconf-zoo -p 2181:2181 -d yourimgs/disconf-zoo
5) 在disconf-nginx目錄下執行
docker run --name disconf-nginx -v $/nginx.conf:/etc/nginx/nginx.conf:ro \所有容器啟動正常以後,就可以通過http://yourhost:8081訪問disconf-web服務了。disconf的客戶端需要訪問zookeeper,所以在配置disconf的客戶端時請配置hosts檔案,將主機名disconf-zoo對映到docker所在的伺服器上。-v /home/ubuntu/disconf-build/working/war/html:/home/work/dsp/disconf-rd/war/html:ro \
使用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 這個目錄下面 增加自己的 及...