2019独角兽企业重金招聘Python工程师标准>>>

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 redis
docker run --name=musing_ramanujan -d -p 26379:6379 redis

3. EMQ: 下载emqtt的docker镜像,http://www.emqtt.com/downloads

wget http://www.emqtt.com/downloads/2318/docker
unzip <下载到的zip文件>
docker load < <解压后的文件>
docker image ls
docker 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:8
EXPOSE 9999VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

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

mkdir eslapp
cd eslapp
docker 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

ESL系统的Docker化部署相关推荐

  1. 安装 esl php 模块,ESL系统的Docker化部署

    ESL需要四台服务器:分别是数据库Mysql服务器,Redis服务器,EMQ服务器,以及Spring Boot所在web服务器.Docker化部署就是将这四台服务器全部放在container中运行,通 ...

  2. acme.sh申请Let‘s encrypt泛域名证书Docker化部署

    acme.sh申请Let's encrypt泛域名证书Docker化部署 一:手动安装acme.sh 二:申请证书 2.1 DNSAPI申请方式 2.2 DNS手动校验方式 2.3 HTTP校验方式申 ...

  3. ElasticSearch 5.5.3 Docker化部署

    Dockerfile文件 FROM hub.c.163.com/library/centos WORKDIR / COPY entrypoint.sh entrypoint.sh WORKDIR /o ...

  4. DockOne微信分享( 八十九):恒生金融交易系统的Docker化实践

    本文讲的是DockOne微信分享( 八十九):恒生金融交易系统的Docker化实践[编者的话]Docker可以显著改善企业软件研发流程.提升企业DevOps效率.借助Docker,企业可以对现有IT系 ...

  5. 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...

    本节书摘来自异步社区<Docker容器:利用Kubernetes.Flannel.Cockpit和Atomic构建和部署>一书中的第2章,第2.2节,作者: [美]Christopher ...

  6. python django部署docker_如何Docker化Python Django应用程序

    Docker是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个用 ...

  7. Asp.net Core Jenkins Docker 实现一键化部署

    写在前面 在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署.大概的流程是Jenkins从git上获取代码 最开始Jenkins是放在Ubuntu的Docker ...

  8. 项目docker容器化部署步骤

    Docker在部署时的一些基本步骤(主要针对我公司的项目环境): 1.项目中存在不需要使用容器化的服务,所以请安装jdk7.redis.mq.zookeeper.dubbo控制台 2.镜像导入 #ca ...

  9. 悟空CRM11.0 PHP版本docker容器化部署全流程

    由于本地服务器为PHP5.3,项目部署需要PHP >= 7.0.*,所以选择docker容器化部署,服务器系统为centos7.3,所有的sql文件都在项目路径 public/sql下 目录 一 ...

  10. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

最新文章

  1. ios unrecognized selector sent to instance出现的原因和解决方案
  2. windows上安装gcc/g++环境(MinGW,msys64等)
  3. DOS 批处理命令学习1
  4. 系统设计4:Web服务和流量限制
  5. mac 多java环境变量配置_java_Mac安装多个JDK版本并设置环境变量
  6. 一招教你玩转SQL:通过找出数据的共同属性实现SQL需求
  7. direct3D 状态设置
  8. 使用java程序读取配置文件中的相关属性值-asp.net关注
  9. 数字图像处理(二) 数字图像处理基础
  10. 林德物料搬运公司成功案例:基于功能需求开发的软件模型质量保障
  11. 百度离线语音合成SDK使用
  12. 制作和合入patch补丁
  13. GitLab CI介绍——入门篇
  14. Solidworks直接打开SWB文件报错怎么办
  15. 基于改进胶囊网络的文本分类-论文研读
  16. 威漫哨兵机器人_漫威:哨兵机器人能不能打过复仇者联盟?
  17. python pie图
  18. 苹果开发者账号续费时出现你的支付授权失败,请核对信息并重试..
  19. JavaScript 常见鼠标事件
  20. 喇叭音箱的频率范围和频率响应

热门文章

  1. 【Spring】13、使用Spring 3的@value简化配置文件的读取
  2. Adopt Open JDK官方文档(八)OpenJDK 项目介绍
  3. 大话设计の设计原理摘要(二)
  4. 【闲聊产品】之一:半路出家的产品经理
  5. linux内核开发常用站点
  6. 学会拒绝别人的6个技巧_4个秘诀教你怎么拒绝别人,还能不伤和气
  7. Centos 启动盘制作与安装以及遇到的问题
  8. 多核时代不宜再用 x86 的 RDTSC 指令测试指令周期和时间
  9. Linux驱动开发必看
  10. PAT排名汇总(排序)