ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java项目docker部署

2022-02-15 16:31:52  阅读:172  来源: 互联网

标签:rms Java 部署 nacos -- link && docker


一:制作中间件镜像

         1:制作MySQL镜像

         新建文件夹,自定义文件夹名称(这里使用db)。在db文件夹中创建Dockerfile文件,和init.sql文件。init.sql文件为初始化脚本文件,这个脚本文件包含nacos配置对于的sql脚本和各个服务对应的数据库脚本。在每一个服务对应的脚本片段开头添加创建库和使用库语句,例如nacos:  CREATE database nacos;use nacos;

Dockerfile文件内容如下:

#MySQL镜像

FROM mysql:5.7

#定义MySQL初始化脚本的目录(固定的)

WORKDIR /docker-entrypoint-initdb.d

#将初始化脚本放入上面的目录先,这个.代表 /docker-entrypoint-initdb.d

ADD init.sql .

#对外暴露端口

EXPOSE 3366

#通过设置环境变量来设置密码

ENV MYSQL_ROOT_PASSWORD=root

 

 

2:制作nacos镜像

新建文件夹nacos,文件夹中包含dockerfile文件和application.properties文件(此文件为nacos所属文件)。application.properties文件中修改如下

db.num=1

db.url.0=jdbc:mysql://db:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC

db.user=root

db.password=root

上面三行之前就有,现在需要将注释放开,并将db.url.0对应的值修改为对应的docker中的库,因为我们之后会吧数据库容器命名为db,所以我们此处使用db。这样才可以链接上数据库。

Dockerfile文件如下

#nacos基础镜像,在外网拉取即可

FROM nacos/nacos-server:latest

         #将准备好的属性文件覆盖

ADD application.properties /home/nacos/conf/application.properties

 

 

 

3:制作redis镜像

直接外网拉取镜像即可。

 

 

4:制作vue镜像

新建vue文件夹,包含dist文件夹,Dockerfile文件,nginx.conf文件。dist文件夹下为前端打包代码。

nginx.conf文件内容如下:

# cat nginx.conf

worker_processes auto;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    client_max_body_size   20m;

    server {

        listen       801;

        server_name  localhost;

     location / {

        root   /usr/share/nginx/html;

        index  index.html index.htm;

        try_files $uri $uri/ /index.html;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

Dockerfile文件如下:

# 设置基础镜像

FROM nginx:latest

# 定义作者

#MAINTAINER oopxiajun <oopxiajun@qq.com>

# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面

COPY dist/  /usr/share/nginx/html/

COPY nginx.conf /etc/nginx/nginx.conf

RUN echo 'echo init ok!!'

 

 

5:制作gateway服务镜像(所以业务服务一样,不再赘述)

所有的业务服务在制作镜像前,需要将bootstrap配置文件中的部分配置修改完。Gateway服务中的配置文件需要将nacos的地址由127.0.0.1:8848改为nacos:8848。这里之所以改为nacos是因为之后启动nacos中间件服务时我们会将nacos中间件容器命名为nacos。

第一步:在idea编辑器中,点击右侧maven按钮,然后点击rms,点击Lifecycle,点击package。等待maven打包完成后,到项目对应文件夹下找到jar包(rms-gateway-1.0-SNAPSHOT.jar),然后将jar包和服务对应的Dockerfile文件放在一个文件夹下。

第二步:dockerfile编写

#从外网拉取的jdk镜像

FROM openjdk:8u222-jre

#业务服务jar包

ADD rms-gateway-1.0-SNAPSHOT.jar /rms-gateway-1.0-SNAPSHOT.jar

#暴露端口

EXPOSE 8079

#启动命令

ENTRYPOINT ["java","-jar","/rms-gateway-1.0-SNAPSHOT.jar"]

 

 

镜像制作到此结束。部署执行开发提供的start.sh脚本即可。下面是启动脚本讲解。

 

启动脚本讲解

start.bat为启动脚本,脚本内容如下:

cd D:\rmsDocker

start cmd /k "docker load -i rms_mysql.jar&&docker load -i rms_redis.jar&&docker load -i rms_vue.jar&&docker load -i rms_nacos.jar&&docker load -i rms_base.jar&&docker load -i rms_search.jar&&docker load -i rms_report.jar&&docker load -i rms_message.jar&&docker load -i rms_gateway.jar&&docker load -i rms_flow.jar&&docker load -i rms_file.jar&&docker load -i rms_auth.jar&&docker load -i rms_arc.jar&&docker run -p 3366:3306 -d --restart=always --name db rms_mysql:v1 --lower_case_table_names=1&&docker run --env MODE=standalone -p 28848:8848 -d --restart=always --name nacos --link=db rms_nacos:v1&&docker run -p 16379:6379 -d --restart=always --name redis rms_redis:v1&&docker run -p 801:801 -d --restart=always --name vue rms_vue:v1&&docker run -d -p 8079:8079 --name gateway --link=redis --link=nacos rms_gateway:v1&&docker run -d -p 9091:9091 --name arc --link=redis --link=db --link=nacos rms_arc:v1&&docker run -d -p 9092:9092 --name base --link=redis --link=db --link=nacos  rms_base:v1&&docker run -d -p 9093:9093 --name file --link=redis --link=db --link=nacos  rms_file:v1&&docker run -d -p 9094:9094 --name flow --link=redis --link=db --link=nacos rms_flow:v1&&docker run -d -p 9095:9095 --name message --link=redis --link=db --link=nacos rms_message:v1&&docker run -d -p 9096:9096 --name search --link=redis --link=db --link=nacos rms_search:v1&&docker run -d -p 9097:9097 --name report --link=redis --link=db --link=nacos rms_report:v1&&docker run -d -p 8081:8081 --name auth --link=redis --link=nacos rms_auth:v1"

 

第一步:通过cd命令切换到镜像和启动脚本所在文件夹

第二步:执行dockers命令,docker load –i为加载镜像命令,docker run 为启动命令 –name后跟容器名,-p后是对外和docker内部端口,-d后台启动 –link链接其他容器

标签:rms,Java,部署,nacos,--,link,&&,docker
来源: https://www.cnblogs.com/zwbsoft/p/15897081.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有