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和端口,和登录密码
![](https://img2020.cnblogs.com/blog/1498196/202012/1498196-20201224141708051-1767724153.png)
然后退出保存
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%
![](https://img2020.cnblogs.com/blog/1498196/202012/1498196-20201224142447328-1878475520.png)
修改后复制到容器
docker cp nginx.conf docker-nginx:/etc/nginx/nginx.conf
重启容器
decker restart docker-nginx
集群搭建完成
综上所有项目已经完成,可以进行一个小实践了
要注意的是:
微服务项目里的不同业务是不同的jar包,然后直接部署 java -jar **.jar包名 ,不需要用到tomcat,因为里面自带了tomcat