Docker上线微服务

Docker上线微服务

做了一个使用docker镜像上线微服务的项目,在此记录一下

全程使用了4个jar包,运行四个java项目,jar包内容不重要,主要是学习上线微服务的流程

先将四个jar包用dockerfile文件在centos7镜像的基础上创建成对应的项目镜像
然后使用了6个容器部署微服务,其中4个容器分别运行4个jar包;1个nginx容器运行nginx前端,本机的/root/dist存放的前端代码,将容器的前端默认发布目录映射到/root/dist下;1个mysql容器运行数据库,为项目提供数据支撑,有两个sql数据文件,直接导入mysql即可。

在这里插入图片描述
容器与宿主机的端口映射关系
在这里插入图片描述

准备:
vmware使用net模式,并将虚拟网络修改为10.0.0.0,网关修改为255.255.255.0

在这里插入图片描述

将服务器的ip修改为10.0.0.220

基本流程:
1.构建项目jar包镜像,运行eureka镜像
2.构建mysql容器,设置密码为mysql 并创建两个库,以及数据导入
3.构建nginx容器,将项目映射到容器中的网站发布目录下
4.运行剩余的jar包镜像

详细流程:

1、下载jdk

因为运行的jar包项目,java需要jdk环境

在这里插入图片描述

2、为四个jar包创建四个目录,方便管理,并将四个jar包和jdk分别拷贝到四个目录下

在这里插入图片描述
3、分别在对应目录下为每个jar包项目编写dockerfile文件创建项目镜像

目录1下:

在这里插入图片描述

dockerfile文件内容

在这里插入图片描述

目录2下:

在这里插入图片描述

dockerfile文件内容

在这里插入图片描述

目录3下:

在这里插入图片描述

dockerfile文件内容

在这里插入图片描述

目录4下:

在这里插入图片描述

dockerfile文件内容

在这里插入图片描述

四个dockerfile内容基本一样,只不过把jar包不同

5、构建eureka项目镜像并运行

进入存放eureka的目录下

[root@localhost 2]# docker build -t eureka:v1 .
[root@localhost 2]# docker run -itd --name eureka -p 30020:10086 eureka:v1

运行eureka,浏览器访问10.0.0.220:30020可以看到如下界面:
在这里插入图片描述

6、拉取mysql镜像,并构建mysql容器

[root@localhost ~]# docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=mysql -p 30023:3306 daocloud.io/library/mysql:5.7.7

7、进入mysql,建表并导入数据

[root@localhost ~]# mysql -uroot -pmysql -h 10.0.0.220 -p 30023
MySQL [(none)]> create database tenaquare_user charset=utf8;
MySQL [(none)]> create database tenaquare_gathering charset=utf8;
在这里插入图片描述

然后将两个sql数据文件导入
进入tenaquare_user数据库

MySQL [(none)]> source tenaquare_user.sql;

进入tenaquare_gathering数据库

MySQL [(none)]> source tenaquare_gathering;

8、拉取nginx镜像,并构建容器,将disk目录映射到nginx容器的默认发布目录下

[root@localhost ~]# docker run -itd --name nginx -p 8088:80 -v /root/disk:/usr/local/nginx/html nginx:v1

9、进入zuul、gathering、admin对应的目录运行dockerfile文件构建镜像并运行
在这里插入图片描述

zuul:

[root@localhost 3]# docker build -t zuul:v1 .
[root@localhost 3]# docker run -itd --name zuul -p 30021:10020 zuul:v1

gathering:

[root@localhost 4]# docker build -t gathering:v1 .
[root@localhost 4]# docker run -itd --name gathering -p 30022:9002 gathering:v1

admin:

[root@localhost 1]# docker build -t admin:v1 .
[root@localhost 1]# docker run -itd --name admin -p 30024:9001 admin:v1

依次运行这几个镜像,在eureka下看到这几个容器都加进去了

在这里插入图片描述
浏览器访问10.0.0.220:8088看到如下界面,整个微服务搭建完成
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44178770/article/details/125023461
今日推荐