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. Linux中配置环境变量

    Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...

  2. Nginx搭建文件共享服务器

    前言 Nginx除了做正反向代理和负载均衡,还能做动静分离服务器,如此便可以当作文件共享服务器使用. 环境 WIN 10 Vmware Workstation 15 Player CentOS Lin ...

  3. 【scrum】scrum价值观

    1.每一位成员都承诺实现项目的目标 2.团队成员相互尊重 3.所有人都专注于工作 4.团队着重开放 5.团队成员有勇气全力支持项目

  4. 关于String的matches方法

    弊端: 虽然String.matches方法最易于看一个字符串是否与正则表达式相匹配.但并不适合在注重性能的情形中重复使用. 问题在于,它内部为正则表达式创建了一个Pattern实例,却只用一次,之后 ...

  5. uni-app 封装接口request请求

    我们知道一个项目中对于前期架构的搭建工作对于后期的制作有多么重要,所以不管做什么项目我们拿到需求后一定要认真的分析一下,要和产品以及后台沟通好,其中尤为重要的一个环节莫过于封装接口请求了.因为前期封装 ...

  6. 2014.04.28基于CPLD的LCOS场序彩色视频控制器设计

    基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. ...

  7. Beta冲刺随笔——Day_One

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...

  8. Jmeter介绍、下载及配置

    Jmeter介绍: Apache JMeter是Apache组织开发的基于Java的压力测试工具.最初被设计用于Web应用测试,后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.J ...

  9. 使用文件描述符作为Python内置函数open的file实参调用示例

    一.关于文件描述符 open()函数的file参数,除了可以接受字符串路径外,还可以接受文件描述符(file descriptor),文件描述符是个整数,对应程序中已经打开的文件. 文件描述符是操作系 ...

  10. 第12.5节 Python time模块导览

    一.时间相关的概念 time模块模块提供了各种时间相关的函数,在介绍时间相关功能前,先介绍一些术语和惯例: epoch 是时间开始的点,并且取决于平台.对于Unix, epoch 是1970年1月1日 ...