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. Go 大数据生态迎来重要产品 CDS

    项目地址:https://github.com/tal-tech/cds ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS).它有着优异的性能,可以快速部署和运行. 不 ...

  2. 学习Java的第一步,配置电脑环境

    JAVA安装与配置 俗话说的好,工欲善其事,必先利其器,想要学习Java,那么我们首先需要一个能够进行学习的环境. 一.安装JDK 为什么要安装jdk,jdk是什么? ​ JDK是java软件开发包( ...

  3. Java 安全之Java Agent

    Java 安全之Java Agent 0x00 前言 在前面发现很多技术都会去采用Java Agent该技术去做实现,比分说RASP和内存马(其中一种方式).包括IDEA的这些破解都是基于Java A ...

  4. 在 CentOS 7 安装 Tomcat

    一. 安装 JDK 8 1.1 下载 JDK 8 cd /opt/ wget --no-cookies --no-check-certificate --header "Cookie: gp ...

  5. Spring Cloud 学习 (七) Spring Cloud Sleuth

    微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性较高,如果出现了错误和异常,很难去定位.主要体现在一个请求可能需要调用很 ...

  6. Django+Nginx+uWSGI生产环境部署

    生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...

  7. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项中列数据的访问方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项中可以有多列数据,每列数据可以根据 ...

  8. 第11.23节 Python 中re模块的搜索替换功能:sub及subn函数

    一. 引言 在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,除了搜索,re模块也 ...

  9. PyQt(Python+Qt)学习随笔:QAbstractScrollArea的viewPort(视口)理解

    老猿Python博文目录 老猿Python博客地址 在学习Designer中ItemViews类部件时,这些部件都有个父类QAbstractScrollArea,该父类是Qt滚动区域的低级抽象.该区域 ...

  10. [ASIS 2019]Unicorn shop

    点击进去之后是一个购买独角兽的界面,有四种类型的独角兽,前三种的价格比较便宜,最后的独角兽价格比较贵. 我们先尝试购买前三种独角兽,输入id,然后price输入9 然后就告诉我商品错了,可能复现靶场这 ...