博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ESL系统的Docker化部署
阅读量:6230 次
发布时间:2019-06-21

本文共 1211 字,大约阅读时间需要 4 分钟。

hot3.png

ESL需要四台服务器:分别是数据库Mysql服务器,Redis服务器,EMQ服务器,以及Spring Boot所在web服务器。Docker化部署就是将这四台服务器全部放在container中运行,通过--link的方式,实现web服务器对其他三台服务器的访问。

1. Mysql的docker化:操作参考,只需要将两个sql文件,根据实际情况进行修改,将镜像打包为zkong/database, 启动:

docker run --name=elsdata -d -p 23306:3306 zkong/database

2. Redis:可通过redis的docker官方镜像进行安装。

docker pull redisdocker run --name=musing_ramanujan -d -p 26379:6379 redis

3. EMQ: 下载emqtt的docker镜像,

wget http://www.emqtt.com/downloads/2318/dockerunzip 
<下载到的zip文件>
docker load <
<解压后的文件>
docker image lsdocker run -tid –name=emq20 -p 21883:1883 -p 28083:8083 -p 28883:8883 -p 28084:8084 -p 38083:18083
<镜像名称>

4. ESL web系统

新建Dockerfile,如:

FROM java:8EXPOSE 9999VOLUME /tmpADD demo-0.0.1-SNAPSHOT.jar app.jarRUN bash -c 'touch /app.jar'ENTRYPOINT ["java","-jar","/app.jar"]

新建目录eslapp,并把Dockerfile和demo-0.0.1-SNAPSHOT.jar放入其中

mkdir eslappcd eslappdocker build -t zkong/esl .

启动,使用--link方式,使得web服务器可以访问其他三个容器的服务,所以其他三个容器启动时都会带上--name指定container名称

docker run -p 29999:9999 --link emq20:emq20 --link musing_ramanujan:eslredis --link esldata:esldata zkong/esl

在web服务器的container中使用的其他container的别名进行访问,所以需要在application.yml中将各个服务的访问地址改为运行别名。(部署配置侵入到了代码中!需要寻找更优的解决方案!)

 

转载于:https://my.oschina.net/u/4042451/blog/3044297

你可能感兴趣的文章
引用计数
查看>>
C#:XML操作类 (转)
查看>>
struts2 API chm帮助文档生成介绍说明(转)
查看>>
ORACLE数据缓冲区DB cache
查看>>
数据字典统一管理,动态下拉框
查看>>
不让自己的应用程序在桌面的图标列表里启动显示的方法
查看>>
矩阵的坐标变换(转)
查看>>
汽车常识全面介绍 - 引擎详论
查看>>
枚举类型、结构体和类的区别
查看>>
AngularJS使用ngMessages进行表单验证
查看>>
【Spark 深入学习 01】 Spark是什么鬼?
查看>>
ASP.NET上传控件
查看>>
用Visual Studio 2008进行Silverlight开发的准备工作
查看>>
校园-秋
查看>>
document.getElementsByName 在IE与firefox表现不一,解决办法
查看>>
IXWebHosting的URL转向设置
查看>>
octopress的一些总结
查看>>
Linux- systemd
查看>>
TCP编程的迷惑
查看>>
【转】这个“哭喊着要进步”的电子工程师一路怎么走过来的~
查看>>