如何使用docker部署disconf服务

应用包下载

由于disconf服务部署时所依赖的基础软件环境较多,在服务器上逐个安装对应的依赖环境会让管理工作变得复杂,这里介绍通过docker来部署disconf,让服务部署变得更加简单和快捷。

在部署之前需要准备disconf的软件应用包,可以通过下载 源码 编译,最终获得war文件。这里提供一个已经编译完成的应用包。应用包中包含了本次安装中所需要使用的所有配置文件,应用包在解压目录的./web/war 目录下。

下载地址:链接: https://pan.baidu.com/s/1k8aiDGthQFYKWbm0Rb7wqQ 提取码: 61i6

disconf应用包

操作系统

本文档目前只在 CentOS7系统上经过测试,其他版本Linux操作系统也可借鉴本文档,其中需要注意的部分是docker和docker-compose的安装,后续disconf服务安装部分与系统差异关系较小。

docker & docker-compose

docker

离线方式安装可以直接通过 下载 rpm软件包进行安装。
参考命令:
rpm -ivh docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm
rpm -ivh docker-engine-1.13.1-1.el7.centos.x86_64.rpm

在线方式则通过yum查询软件包进行相应安装即可。
参考命令:
yum install docker -y

docker-compose

服务器如果可以访问互联网,则通过命令 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 完成docker-compose的下载。

离线方式可以直接去该软件的release页面手动下载docker-compose-Linux-x86_64文件,并重命名文件为 docker-compose,复制到系统 /usr/local/bin目录下。

docker-compose文件添加执行权限,授权命令:chmod +x /usr/local/bin/docker-compose

上述操作完成即完成了docker和docker-compose的安装。

此时可以启动docker服务,并为docker添加系统自启动。

启动docker服务:
systemctl start docker

docker服务自启动
systemctl enable docker

应用包目录

第一步下载的应用包 docker-disconf.zip 解压后,目录结构如下:

  • initdb.d:disconf所用到的数据库表定义语句(mysql)
  • web:disconf软件包
    • war: disconf服务的所有静态网页以及动态服务实现(通过源码编译生成)
    • nginx.conf: nginx代理服务配置
  • docker-compose.yml:disconf服务配置(核心配置文件)
  • data:服务启用后生成
    • mysql:数据库文件夹(自动生成)
    • redis:redis缓存文件夹(自动生成)

解压命令:
unzip docker-disconf.zip

服务启动

进入解压目录 docker-disconf,运行命令docker-compse up -d启动disconf服务(该命令会在启动之前下载相关docker镜像,完成下载后第二次启动将不会重复下载)。

启动完成后通过浏览器访问 http://xxxx:8081/ 即可查看disconf服务界面。服务中使用到了mysql和redis服务,对应的数据将会存储在当前目录的data子目录中。

参考命令:
启动:docker-compse up -d
停止:docker-compose down

参考链接

https://docs.docker.com/install/linux/docker-ce/centos/
https://yum.dockerproject.org/repo/main/centos/7/Packages/
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
https://disconf.readthedocs.io/zh_CN/latest/install/src/02.html
https://github.com/knightliao/disconf
https://github.com/docker/compose/releases

准备mysql, tomcat, nginx的Dockerfile文件,用于生成定制的镜像 redis,zookeeper 镜像直接从云端获取。 打开终端进入tomcat目录,执行: docker build -t conf_tomcat:0.0.1 . 再进入nginx目录,执行: docker build -t conf_nginx:0.0.1 . 再进入mysql目录,执行: docker build -t conf_mysql:0.0.1 . docker images 就能看到这三个新的镜像 root@ubuntu:/home/anan/docker/docker_disconf-master# docker images REPOSITORY TAG IMAGE ID CREATED SIZE conf_mysql 0.0.1 deed528eba7f 13 hours ago 256 MB conf_nginx 0.0.1 655a8ea20190 16 hours ago 111 MB conf_tomcat 0.0.1 8dbaa04dfd30 16 hours ago 393 MB 到docker-composer.yml的目录下,执行: docker-compose up -d 执行完成之后,就可以通过docker ps 看到启动的容器 root@ubuntu:/home/anan/docker/docker_disconf-master# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES de596887acac conf_nginx:0.0.1 "nginx -g 'daemon ..." About an hour ago Up About an hour 0.0.0.0:80->80/tcp dockerdisconfmaster_disconf_nginx_1 5bbdb21bf496 conf_tomcat:0.0.1 "catalina.sh run" About an hour ago Up About an hour 8080/tcp dockerdisconfmaster_disconf_tomcat_1 e050bb3c4d05 daocloud.io/library/redis "docker-entrypoint..." About an hour ago Up About an hour 6379/tcp dockerdisconfmaster_disconf_redis_1_1 dd676e1ecbee zookeeper:3.3.6 "/docker-entrypoin..." About an hour ago Up About an hour 0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp dockerdisconfmaster_disconf_zookeeper_1 8efcbedb9a44 daocloud.io/library/redis "docker-entrypoint..." About an hour ago Up About an hour 6379/tcp dockerdisconfmaster_disconf_redis_2_1 eb0d9c248401 conf_mysql:0.0.1 "docker-entrypoint..." About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp dockerdisconfmaster_disconf_mysql_1 现在打开浏览器即可访问disconf 的web端, 用户名和密码都是admin. 停止整个环境的命令: docker-compose stop 删除整个环境的命令: docker-compose rm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值