#Docker-Disconf
Docker-Disconf是本人学习Docker后,尝试使用Docker解决Disconf打包和运行问题的作品。
Disconf是分布式配置管理平台(Distributed Configuration Management Platform)的简称,使用该平台提供的Web界面,可以统一管理多个应用,多个环境的所有配置。Disconf是一个GitHub上的开源项目,在[https://github.com/knightliao/disconf](https://github.com/knightliao/disconf)可以找到相关的源码和文档。Disconf-web是Disconf的服务器端,提供了用于管理分布式配置的Web界面。
## 准备
Docker-Disconf所使用的Dockerfile和配置样例可以从[https://git.oschina.net/gongxusheng/docker-disconf.git](https://git.oschina.net/gongxusheng/docker-disconf.git)下载。以下说明文档中的操作假设用户已经成功安装了[Docker](https://docs.docker.com/engine/installation/linux/centos/)和[Docker-compose](https://docs.docker.com/compose/install/),并且已经把DockerDisconf目录下的文件夹上传到了/home/ubuntu目录。如果解压在了其它的目录。需要调整部分配置文件和命令。
## 使用Docker打包Disconf
在disconf-build目录中执行以下命令构建Docker镜像,该镜像的用于Disconf-web的打包
```
docker build -t yourimgs/disconf-build .
```
在disconf-build目录执行以下的命令,打包Disconf-war
```
docker run -v ${PWD}/working:/home/work/dsp/disconf-rd/working \
-v ${PWD}/config:/home/work/dsp/disconf-rd/online-resources \
--name disconf-build yourimgs/disconf-build
```
如果修改了properties文件,可以通过再次启动disconf-build容器来打包
```
docker start disconf-build
```
## 使用Docker Compose部署运行Disconf
如下图所示,Disconf的部署使用到了Nginx, Tomcat, MySQL, Redis和ZooKeeper:
![Disconf部署架构](http://git.oschina.net/uploads/images/2016/0127/125722_8de982ee_411046.png "Disconf部署架构")
在disconf-compose目录中执行
```
docker-compose up
```
所有容器启动正常以后,就可以通过[http://yourhost:8081](http://)访问Disconf-web服务了。
###Disconf客户端的配置
首先应配置disconf.properties指向[http://yourhost:8081](http://)。Disconf的客户端需要访问zookeeper,会使用/DockerDisconf/disconf-build/config/zoo.properties中的配置。为了统一配置,Docker-Disconf的配置使用了disconf-zoo:2181,因此在客户端所在的主机上需要配置hosts文件,将主机名disconf-zoo映射到Docker所在的服务器ip。
## (非Docker Compose方式)部署运行Disconf
【说明】本章是早期版本,操作步骤较多。推荐使用前面章节介绍的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 ${PWD}/files/sql:/docker-entrypoint-initdb.d \
-v ${PWD}/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
```
4) 创建应用服务器镜像,在disconf-app目录下执行
```
docker build -t yourimgs/disconf-app .
docker run -d --link disconf-mysql:disconf-mysql --link disconf-redis:disconf-redis --link disconf-zoo:disconf-zoo \
-v /home/ubuntu/disconf-build/working/war:/home/work/dsp/disconf-rd/war --name disconf-app yourimgs/disconf-app
```
5) 在disconf-nginx目录下执行
```
docker run --name disconf-nginx -v ${PWD}/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /home/ubuntu/disconf-build/working/war/html:/home/work/dsp/disconf-rd/war/html:ro \
-v ${PWD}/logs:/home/work/var/logs/disconf -d -p 8081:8081 --link disconf-app:disconf-app nginx:1.9
```
所有容器启动正常以后,就可以通过[http://yourhost:8081](http://)访问Disconf-web服务了。Disconf的客户端需要访问zookeeper,所以在配置Disconf的客户端时请配置hosts文件,将主机名disconf-zoo映射到Docker所在的服务器上。
没有合适的资源?快使用搜索试试~ 我知道了~
使用Docker打包并运行Disconf-Web.zip
共20个文件
sql:6个
properties:4个
dockerfile:3个
需积分: 5 0 下载量 163 浏览量
2023-11-22
09:30:31
上传
评论
收藏 18KB ZIP 举报
温馨提示
使用Docker打包并运行Disconf-Web.zip
资源推荐
资源详情
资源评论
收起资源包目录
使用Docker打包并运行Disconf-Web.zip (20个子文件)
docker-disconf-master
DockerDisconf
disconf-mysql
files
sql
4-20141226-disconf.sql 9KB
5-20150101-disconf.sql 269B
2-data.sql 2KB
6-20150320-disconf.sql 354B
3-20141201-disconf.sql 2KB
.gitignore 19B
1-init_table.sql 2KB
README.md 381B
disconf-zoo
Dockerfile 625B
disconf-nginx
nginx.conf 2KB
disconf-compose
docker-compose.yml 849B
disconf-app
server.xml 7KB
Dockerfile 166B
.project 217B
disconf-build
Dockerfile 512B
config
application.properties 440B
zoo.properties 103B
redis-config.properties 507B
jdbc-mysql.properties 373B
README.md 4KB
共 20 条
- 1
资源评论
YOLO数据集工作室
- 粉丝: 698
- 资源: 1588
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功