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. git学习与应用

    git是什么 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目:同类的有svn,如果知道svn是干嘛的(上篇),那么git是啥就不多解释了. Git 与常用的版本控制工具 C ...

  2. 【模板】【P3402】可持久化并查集

    (题面来自洛谷) 题目描述 n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 ...

  3. 编程入门选什么语言好?C 语言还是Python ?为你解析

    前面我分享过计算机行业已经成了学校选择排名第一,家长和学生都很看好计算机类专业.现在IT行业也越来越火爆,程序员越来越被人看好.面对相比同龄人高薪资的诱惑,人们很难不心动,即使秃头也值得! 那么问题来 ...

  4. 网络 华为 ensp 命令

    VLAN 端口有三种模式:access,hybrid,trunk. Access类型端口:只能属于1个VLAN,且该端口不打tag,一般用于连接计算机端口: Trunk类型端口:可以允许多个VLAN通 ...

  5. Docker实战 | 第一篇:Centos8 安装 Docker

    1. 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 2. 配置镜像源 yum config-manager --a ...

  6. Windows 的这款工具,有时让我觉得 Mac 不是很香

    上次写了个 cheat.sh 在手,天下我有,小伙伴们热情高涨,觉得这是一个没有杂质的好工具:也有小伙伴抱怨说对 Windows 用户不是特别友好 (其实用 curl API 是没啥问题的).为了「雨 ...

  7. Bootstrap Blazor 组件介绍 Table (三)列数据格式功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  8. SpringBoot集成FastDFS依赖实现文件上传

    前言 对FastDFS文件系统安装后的使用. FastDFS的安装请参考这篇:Docker中搭建FastDFS文件系统(多图) 本文环境:IDEA + JDK1.8 + Maven 本文项目代码:ht ...

  9. 【2020.12.02提高组模拟】A组反思

    55,rk47 T1 赛时先想了\(trie\),想到不一定是前缀,然后就放弃转为打暴力 得分:\(RE22\) 正解是只用判断\(i\)与\(i+1\)的关系,那么只有两种情况,判断一下然后\(dp ...

  10. JZOJ2020年8月12日提高组反思

    JZOJ2020年8月12日提高组反思 真·难亿一点点 T1 题目长并附带伤害-- 暴力搜 对于字符串,我选择\(Pascal\) T2 概率问题,再见 T3 样例没懂,再见 T4 有史以来见过的条件 ...