Docker的部署可以选择虚拟机或者云服务器,我自己选择的是本机安装centos7虚拟机:

1.虚拟机安装登录成功后开始部署docker:

首先了解docker是一个开源应用容器引擎,基于Go语言遵循apache2.0协议,容器相当于一个沙箱,相互之间没有任何接口,自身性能开销极低,docker主要由镜像、容器和仓库组成。

yum install -y yum-utils device-mapper-persistent-data lvm2
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun      ----阿里云创建
systemctl enable docker        ---开启自启动
 
-----------  上面已经表示docker安装完毕,开始创建容器------------------------
 
docker pull daocloud.io/library/centos:latest   ----拉取镜像下载,我选的是国内http://hub.daocloud.io/网站
docker  run -itd --name train_camp_centos  daocloud.io/library/centos:latest   ---创建容器并命名
docker ps -a  ----查看创建容器
 
2、这样就创建好了一个容器
3、接下来开始创建数据库mysql
docker pull daocloud.io/library/mysql:5.7.5  ---拉取数据库安装
docker  run -itd --name train_mysql_575 -p 3336:3306 -e MYSQL_ROOT_PASSWORD=123456  daocloud.io/library/mysql:5.7.5   -----用镜像创建数据库端口映射并创建train_mysql_575容器
通过docker exec -it train_mysql_575 /bin/bash  --------------进入mysql 容器
mysql -u root  -p                     --------------- 进入数据库
mysql> show databases;      ---------------查看数据库
 
-------------------------------------------------------此时mysql已经创建完毕------------------------------
 
4、开始docker 搭建Tomcat:
 
有一些常用命令如下:
docker  restart  name或者ID   ----重启镜像 
docker  stop name    ----关闭服务
docker rmi  name      ----删除镜像
docker  rm  -f  name ----删除容器
 
下面开始安装tomcat
docker pull daocloud.io/library/tomcat:8.5.16-jre8    -----下载tomacat包
 
docker run -itd  --name  tomcat_1   -p   8580:8080   daocloud.io/library/tomcat:8.5.16-jre8 ----- 创建 tomcat_1容器  默认端口8080    映射端口自己设置8580
 
然后项目包放进tomcat 
首先本地上传war包可以用SecureFXPortable.exe这个工具
docker cp erp.war tomcat_1:/usr/local/tomcat/webapps                         ----把项目包erp.war拷贝到容器
 
 
docker exec -it tomcat_1  /bin/bash    ----验证是否拷贝到容器
 
然后修改项目配置文件
docker cp tomcat_1:/usr/local/tomcat/webapps/erp/WEB-INF/classes/application.yml $PWD  ----从容器里面拷贝东西出来 
 
vim修改application.yml文件,只用修改开发环境下映射IP和端口,和登录密码

然后退出保存

 
docker cp  application.yml   tomcat_1:/usr/local/tomcat/webapps/erp/WEB-INF/classes/application.yml     ---------------把修改的文件拷贝到容器中
 
配置文件修改后  要重启容器 docker restart  tomcat_1
 
此时可以请求接口,数据库写入数据。基本上tomcat项目已经跑通。
 
重复此上步骤创建第二个tomcatx项目并命名tomcat_2
 
 
--------------------------------------------上述已经完成了tomcat项目,接下来安装nginx创建集群----------------------------
 
docker pull daocloud.io/library/nginx:1.13.0-alpine
 
docker run -itd  --restart always --name docker-nginx -p 80:80  daocloud.io/library/nginx:1.13.0-alpine      -----创建容器
 
然后修改nginx.conf配置文件
 
 
修改配置文件 nginx.conf    IP +端口    server-name=改成自己的主机IP 也可以是自己映射的域名     weight=1代表两个项目平均负载是50%
 

修改后复制到容器
docker cp nginx.conf docker-nginx:/etc/nginx/nginx.conf
重启容器
decker  restart  docker-nginx
 
集群搭建完成

综上所有项目已经完成,可以进行一个小实践了

要注意的是:

微服务项目里的不同业务是不同的jar包,然后直接部署 java -jar **.jar包名 ,不需要用到tomcat,因为里面自带了tomcat
 
 

Docker部署tomcat+nginx+mysql,创建一个tomcat集群的更多相关文章

  1. docker应用-6(mysql+mycat 搭建数据库集群)

    上一节,通过使用overlay网络,搭建了跨主机的docker容器集群.下面,在这个跨主机的docker容器集群环境下,搭建mysql 数据库集群. mysql主从自动备份和自动切换 从数据安全性考虑 ...

  2. K8S学习笔记之二进制的方式创建一个Kubernetes集群

    0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...

  3. Docker:docker部署PXC-5.7.21(mysql5.7.21)集群搭建负载均衡实现双机热部署方案

    单节点数据库弊端 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 推荐Mysql集群部署方案 PXC (Percon ...

  4. 2.28秒创建一个k8s集群(非理论篇,理论自行 -- )

    准备3台centos 7+ (建议7以上,不然要会很麻烦,要升级内核等等,扯淡的东西) 安装docker 和k8s集群(均以最新版为例)基于官网 设置静态ip(可选) 查看本机的网关ip cd /Li ...

  5. 使用docker来创建一个etcd集群

    docker run -d --name etcd1 --network etcdnet --ip 172.25.0.101 -p 23791:2379 -e ETCDCTL_API=3 -v /ro ...

  6. 在线创建MongoDB免费集群(MangoDB Atlas)

    MongoDB Atlas是MongoDB的云服务,构建在亚马逊的AWS上,MongoDB允许用户在上面创建一个免费集群作为学习使用. 1. 注册MongoDB cloud账号: 访问www.mong ...

  7. Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)

    转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...

  8. Docker实战之创建一个tomcat容器

    一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...

  9. Docker + node(koa) + nginx + mysql 线上环境部署

    在上一篇 Docker + node(koa) + nginx + mysql 开发环境搭建,我们进行了本地开发环境搭建 现在我们就来开始线上环境部署 如果本地环境搭建没有什么问题,那么线上部署的配置 ...

随机推荐

  1. Elasticsearch7.7.0安装

    安装 下载解压 elasticsearch-7.7.0-linux-x86_64.tar.gz tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C ...

  2. InnoDB 中的缓冲池(Buffer Pool)

    本文主要说明 InnoDB Buffer Pool 的内部执行原理,其生效的前提是使用到了索引,如果没有用到索引会进行全表扫描. 结构 在 InnoDB 存储引擎层维护着一个缓冲池,通过其可以避免对磁 ...

  3. 06_Intent和IntentFilter

    Intent是同一个或不同的应用中的组件之间的消息传递的媒介,是一个将要执行动作的抽象描述,一般来说是作为参数来使用. Intent描述要启动的基本组件: IntentFilter对组件进行过滤. 下 ...

  4. C语言memset用法

    1.函数原型: void *memset(void *str,int c,unsigned long n): 2.参数意义: 第一个参数:数组str的起始地址:第二个参数:要赋值给数组的新值,这个值一 ...

  5. Appium之测试微信小程序

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:Oschina.云+社区.知乎等各大平台都有. 目录 一.往期回顾 二.测试微信小程序 1.准备工作 2.操作步骤 3.注意 4.强制设置安卓的进程 ...

  6. PyQt(Python+Qt)学习随笔:QTreeView树形视图的expandsOnDoubleClick属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的expandsOnDoubleClick属性用于控制鼠标双击是否展开或折 ...

  7. Pentaho Report Designer 报表系统 - 入门详解

    目录 简介 安装与配置 环境要求 运行方式 使用教学 数据源配置与原始数据获取 报表布局设计与格式化 布局设计 模块结构 控件 示例 报表预览与发布 报表访问与获取 参考材料 简介 ​ Pentaho ...

  8. 虚拟机(centos7)网络配置

    修改网络配置(ip等) VWware右上角,选择编辑---虚拟网络编辑器 可以看到子网ip是 192.168.1.0,那么我们分配ip地址就可以从此ip段开始. 再点击NAT设置 这里的网关我们稍后会 ...

  9. [BJDCTF2020]ZJCTF,不过如此 php伪协议, preg_replace() 函数/e模式

    转自https://www.cnblogs.com/gaonuoqi/p/12499623.html 题目给了源码 <?php error_reporting(0); $text = $_GET ...

  10. PHP代码审计分段讲解(1)

    PHP源码来自:https://github.com/bowu678/php_bugs 快乐的暑期学习生活+1 01 extract变量覆盖 <?php $flag='xxx'; extract ...