首页 > 知识百科 > 正文

Java——Linux使用Docker部署若依前独立版【保姆级教程】原创

目录

一、项目规划与前期工作

1.1、docker所需镜像

1.2、使用工具

1.3、防火墙与安全组的配置

1.4、域名解析、备案、SSL证书的准备(可选)

二、Docker和镜像安装

2.1、Docker安装

2.1.1、检查环境

2.1.2、搭建gcc环境(gcc是编程语言翻译器)

2.1.3、安装需要的架构

2.1.4、装镜像仓库

< p id="2.1.5%E3%80%81%E6%96%B0yum%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%B4%A2%E5%BC%95- toc" style="margin-left:80px;">2.1.5、新百胜股票指数

2.1.6、安装docker引擎

2.1.7、启动docker

2.1.8、查看docker版本

2.1.9、配置阿里云镜像加速

2.2、拉取镜像

2.2.1、拉取镜像java:8(jdk1.8) 

2.2.2、拉取镜像mysql:8.0.19

< p id =“2.2.3%E3%80%81%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8Fredis%3A6.0.8%C2%A0-toc”样式= "margin-left:80px;">2.2.3、拉取镜像redis:6.0.8 

2.2.4、拉取镜像nginx:1.18.0

2.2.5、查看镜像

三、部署帐篷

3.1、启动数据库容器

3.2 、启动Redis容器

3.3、导入SQL数据(方法1)【两个方法自行选择】

3.3.1、使用winSCP将SQL文件导入服务器的/ myapp/mysql目录中 

3.3.2、进入MySQL容器实例,导入数据

3.4、导入SQL数据(方法2)【如果已经完成导入,可忽略】 

3.4.1、使用Navicat远程连接MySQL

3.4.2、使用Navicat备份本地数据库后,导入服务器的数据库

 3.5、丈夫项目配置修改与预算

3.5.1、配置maven

3.5.2、刷新依赖(保证无报错)

3.5.3、修改数据库配置

3.5.4、修改Redis配置

3.5.5、查看开放端口

3.5.6、查看文件路径(修改为Linux配置)

3.5.7、头部项目预算

3.5.8、查看资源是否成功

3.6 、棚项目上传

3.7、芒果项目镜像构建

< p id="3.7.1%E3%80%81%E8%BF%9B%E5%85%A5jar%E5%8C%85%E5%90%8C%E7%BA%A7%E7%9B%AE% E5%BD%95%EF%BC%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AADockerfile%E6%96%87%E4%BB%B6-toc" style="margin-left:80px;">3.7.1、进入jar包同级目录,创建一个Dockerfile文件

3.7.2、打开文件,将下面的数据复制到Dockerfile文件中

3.7.3、构建镜像(需要在Dockerfile同级目录下构建)

3.7.4、查看当前的镜像

3.7 .5、启动项目项目镜像

3.7.6、查看容器是否启动成功

3.7.7、如果容器没有启动成功,请看这里一步(成功的则跳过,转到前面部署) 

四、部署前端

4.1、Nginx镜像部署

4.1.1、创建nginx工作目录

4.1.2、启动nginx容器,如果这个镜像本机中没有,会自动下载镜像,我这里下载的是1.18版本

4.1.3、复制容器中配置文件目录到本机中,然后删除该容器

4.1。 4、启动新的nginx容器

4.1.5、查看容器后,访问服务器ip地址(检验启动是否成功)

< p id="3.1%E3%80%81%E6%9C%AC%E5%9C%B0node%E5%AE%89%E8%A3%85-toc" style="margin-left:40px;">4.2 、本地node安装

4.2.1安装node< /p>

4.2.2 配置环境变量(使终端可以使用npm命令)

4.3、方案分流(有域名则继续往下)

4.4、前置项目配置、资源、上传

4.4.1、接口项目配置代理域名

4.4.2、在前端项目中打开终端【执行下面命令】

4.4.3、继续在终端资源执行命令

4.4.4、查看dist目录【如下情况,即是预留成功】

4.4.5、将前端项目复制到Linux服务器中nginx容器对应的html目录下

4.5、配置域名的SSL证书

4.6、nginx配置

4.6.1、进入nginx配置目录下,删除默认值。 conf文件中的所有内容

4.6.2、将下面的配置复制到default.conf文件中

修改后保存并退出,重新启动nginx容器

4.6.4、查看容器(是否启动成功)

五、访问域名【看看效果】

六、无域名版本

6.1、前端项目配置代理端口

6.2、在前端项目中打开终端【执行下面命令】

6.3、继续在终端执行预算命令

6.4、查看dist目录【情况如下,即是预算成功】 

6.5、将前端项目拷贝到Linux服务器中nginx容器对应的html目录下

< p id =“6.6%E3%80%81%E8%AE%BF%E9%97%AE%E7%AB%99%E7%82%B9%EF%BC%88%20%E7%9B%B4% E6%8E%A5%E4%BD%BF%E7%94%A8%E5%85%AC%E7%BD%91ip%E5%8D%B3%E5%8F%AF%20%EF%BC%89- toc" style="margin-left:40px;">6.6、访问站点(直接使用公网ip即可)

七、数据汇总

八、总结


若依vue前家居分离版——服务器使用docker快速部署(前置部分——有域名版)_哔哩哔哩_bilibili服务器的Docker部署方案来啦!(若依前耳机项目同样适用)部署顺序:1、若依vue前报表分离版——服务器使用docker快速部署(扶手部分)BV1q84y1L7ma2、根据有无域名选择观看:若依vue使用前报表分离版——服务器快速docker快速部署(前端部分——无域名版)BV1n24y167aM若依vue前休独立版——服务器使用docker快速部署(前端部分——有域名版)BV1X34y1f7e9, 视频播放量 557、 弹幕量 0、点赞数 13、投枚硬币数6、收藏人数19、转发2、视频电石QwQ、作者简介不甘寂人数寂寞,相关视频:若依vue前头部分离版——服务器使用docker部署快速(上方部分),若依vue前沿端分离版——服务器使用docker快速部署(前端部分——无域名版),【南开大学2023前端开发实训】web音乐游戏,KMP算法动画(下一个阵列求值),bootstrap式响应网页(星游记)主题),我们官宣了!,猫咪图鉴小程序端——部署,开源一整套记账程序,包括头部,前端和App,找工具?一个网站就够了,还不会使用chatGPT,特别是能提高我们开发效率,觉得有用的话三连支持下小主https://www.bilibili.com/video/BV1X34y1f7e9 可以跟随视频一步一步走,避免出差错

一、项目规划与前置工作

1.1、docker所需原理

java:8 jdk1.8

mysql:8.0.19

redis:6.0.8

<强>nginx:1.18.0< /p>

1.2 、使用工具

想法

Navicat

WinSCP

腻子

1.3、防火墙与安全组的配置

1、一键关闭防火墙(方法1)或者手动开放我们所需要的端口(方法2)

为了方便,我们直接关闭防火墙:

systemctl禁用firewalld

2、安全组配置(截图如下,可根据此进行配置)

1.4、域名解析、备案、SSL证书的准备(可选)

1、如果没有域名,也可以用ip访问(后面有介绍)

2、域名解析与SSL证书申请

< strong>子域名的SSL证书申请

子域名的SSL证书申请


二、Docker和镜像安装

2.1、Docker安装

2.1.1、检查环境

Docker< span style="background-color:#ffffff;">运行环境要求系统为64位、Linux系统内核版本为< span style="background-color:#ffffff;">3.8以上

查看自己虚拟机的内核:

cat /etc/redhat-release

2.1.2、搭建gcc环境(gcc是编程语言编译器)

yum -y install gccyum -y install gcc-c++ 

2.1.3、安装需要的圆形

yum install -y yum-utils

2.1.4、安装镜像仓库

< p style="margin-left:0;text-align:justify;">因为docker该服务器在国外,

所以有时候从仓库中下载镜像的时候会连接被拒绝或者连接超时的情况!

< span style="color:#4d4d4d;">因此可以使用阿里云镜像仓库

yum-config-manager --add-repo http: //mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.1.5、新 yum 软件包索引

yum makecache 快

2.1.6、安装docker引擎

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

2.1.7、启动docker

systemctl start docker

2.1。 8、查看docker版本

docker版本

 

2.1.9、配置阿里云镜像加速

为了提高镜像的拉取、发布的速度,可以配置阿里云镜像加速(推荐)

1、找到容器镜像服务ARC

< /blockquote>

 2、复制加速器地址

< strong>3、在CentOS下配置镜像加速器

mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors" : ["你个人的阿里云镜像加速器地址"]}EOFsystemctl daemon-reloadsystemctl restart docker

2.2、拉取镜像

2.2.1、拉取镜像java:8(jdk1.8) < /h4>
docker pull java:8

2.2.2、拉取镜像mysql:8.0.19

docker pull mysql:8.0.19

2.2.3、拉取镜像redis:6.0.8 

docker pull redis :6.0.8

2.2.4、拉取镜像nginx:1.18.0

docker pull nginx:1.18.0

2.2.5、查看镜像

<代码 class="f34e-bf37-d6a4-6b58 language-bash">docker 镜像


三、部署帐篷

 命令参数说明:

-d:后台运行容器

-p:端口映射,格式为主机端口:集装箱端口

-e:设置环境变量,这里设置的是root密码

--name:设置容器别名

-v 挂载文件,格式为:宿主机绝对路径目录:容器内目录,

比如我们使用:-v /usr/local/mysql/logs:/var/log/mysql

将mysql容器存放日志文件的目录:< span style="background-color:#00ff00;">/var/log/mysql挂载在一台机器的/usr/local/mysql/日志

3.1、启动数据库容器

docker run --name mysql -v /myapp/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.19

 【注意:上面的123456是密码,可以自行修改】

3.2、启动Redis容器

docker run - d --name redis -p 6379:6379 redis:6.0.8 --requirepass "123456"

【注意:上面的123456是密码,可以自行修改】 

< h3 id="%C2%A03.3%E3%80%81%E5%AF%BC%E5%85%A5SQL%E6%95%B0%E6%8D%AE%EF%BC%88%E6%96 %B9%E6%B3%951%EF%BC%89%E3%80%90%E4%B8%A4%E4%B8%AA%E6%96%B9%E6%B3%95%E8%87%AA %E8%A1%8C%E9%80%89%E6%8B%A9%E3%80%91">3.3、导入SQL数据(方法一)【两个方法自行选择】

3.3.1、使用winSCP将SQL文件导入服务器的/myapp/mysql 目录中 

 3.3.2、进入MySQL容器实例,导入数据

1、查看容器ID

docker ps -a 

 2、进入容器

docker exec -it [容器ID] /bin/bash

 3、登录MySQL

mysql -u root -p 

4、创建数据库

创建数据库cat;

 

 5、查看数据库

显示数据库;

 

< p>6、进入指定数据库,并导入数据库文件 

USE cat;source /var/lib/mysql/cat.sql ;

 

7、查看是否导入完成

show表;

 

3.4、导入SQL数据(方法2)【如果已经导入完成,可忽略】 

3.4.1、使用Navicat远程连接MySQL 

 

3.4.2、使用Navicat备份本地数据库后,导入服务器的数据库

 3.5、仓库项目配置修改与预算

 3.5.1、配置maven

 3.5.2、刷新依赖(保证无报错)

3.5 .3、修改数据库配置

3.5.4、修改Redis配置

 

3.5.5、查看开放端口

3.5 .6、查看文件路径(修改为Linux配置)

 

 3.5.7、小米项目资源

 

3.5.8、查看是否预留成功

3.6、备忘录项目上传

< p>

3.7、出租车项目框架构建

3.7.1、进入jar包同级目录,创建一个Dockerfile文件

3.7.2、打开文件,将下面的数据复制到Dockerfile文件中

#基础镜像使用jdk1.8FROM java:8#作者MAINTAINER pan# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmpVOLUME /tmp# 将jar包添加到容器中并更名ADD ruoyi-admin。 jar app.jar# 运行jar包RUN bash -c 'touch /app.jar'# 为了整个Tomcat启动时间,添加一个系统属性指向“/dev/./urandom”作为 Entropy SourceENTRYPOINT ["java","-Djava .security.egd=文件:/dev/./urandom","-jar","/app.jar"]#ENTRYPOINT ["nohup","java","-jar","/data/cat/ruoyi -admin.jar","&"]#暴露8085端口EXPOSE 8085

3.7.3、构建镜像(需要在Dockerfile同级目录下构建) 

< pre>docker build -t cat:1.0 .

3.7.4、查看当前镜像

docker镜像

3.7.5、启动镜像项目

docker run -d --name cat -p 8085:8085 cat:1.0

3.7.6、查看容器是否启动成功

docker ps -a

如果成功则代表应答完成!< /strong>

可以访问进一步验证 

 

 出租部署完成!

3.7.7、如果容器没有启动成功,请看这一步(成功的则)跳过,转到前端部署)

1、查看容器日志

docker logs -f -t --tail 1000 [容器ID] 

2、通过日志确定问题,将报错进行复制,进行百度搜索,自行解决


四、部署前端

4.1、Nginx镜像部署

因为需要nginx的初始化配置文件,为了保证不出错,

所以我们直接启动一个nginx容器,把配置文件拉收拾来,然后删除容器!

4.1 .1、创建nginx工作目录

#需要一个conf文件搁置目录,和html文件目录,及搁置日志目录mkdir -p /data/applications/nginx /confmkdir -p /data/applications/nginx/htmlmkdir -p /data/logs

4.1.2、启动nginx容器,如果这个镜像本机中没有,会自动下载镜,我这里下载的是1.18版本

docker run --name nginx -p 80: 80 -d nginx:1.18.0

4.1.3、复制容器中配置文件目录到本机中,然后删除该容器

# 复制配置docker cp nginx:/etc/nginx/nginx.conf /data /applications/nginx/conf/nginx.confdocker cp nginx:/etc/nginx/conf.d /data/applications/nginx/conf/conf.ddocker cp nginx:/usr/share/nginx/html /data/applications/nginx /#先用 [docker ps –a] 命令找到对应容器ID#才可以删除容器docker rm -f [容器ID]

4.1.4、启动新的nginx容器

docker run -d \-p 80:80 \-p 443:443 \--name nginx \--restart=always \--network-alias nginx \-e TZ="亚洲/上海" \-v /data/applications/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \- v /data/applications/nginx/conf/conf.d:/etc/nginx/conf.d \-v /data/logs/nginx:/var/log/nginx \-v /data/applications/nginx/html: /usr/share/nginx/html \-v /data/applications/nginx/cert:/etc/nginx/cert \nginx:1.18.0

再次提醒firewalld防火墙是否关闭,或者端口是否开启,以及服务器的安全组是否配置!

命令说明:

–privileged=true # 容器内被赋予root权限

-v /data/applications/nginx/html:/usr/share/nginx/html # < /strong>挂载的静态文件目录

-v /data/applications/nginx/nginx.conf:/etc/nginx/nginx.conf # 挂载的nginx配置文件目录

-v /data/applications/nginx/logs:/var/log/nginx #挂载nginx日志文件

-v /data /applications/nginx/cert: /etc/nginx/cert # ssl< span style="color:#4472c4;">证书挂载目录

4.1.5、查看容器后,访问服务器ip地址(检验是否启动成功)

#查看nginx容器是否启动成功docker ps -a

看到Nginx首页,代表我们部署成功


4.2、本地节点安装

4.2.1 安装节点

 4.2.2 配置环境变量(使终端可以使用npm命令)

 


4.3 、方案分流(有域名则继续往下)

(如果这一步成功了,而你没有域名,则请跳到6.1观看无域名版本)


4.4、引入项目配置、备份、上传

4.4.1、扩充项目配置代理域名

记住代理的域名,我们一拼下面的域名设置反向代理,代理端口为:【公网ip:端口号】< /p>

我们的稻端口

4.4.2、在前台项目中打开终端【执行命令下面】

 npm install --registry=https://registry.npmmirror.com

 

4.4.3、继续在终端执行备份命令

npm run build:prod

4.4.4、查看dist目录【如下情况,即是资源成功】

4.4.5、将前端项目拷贝到Linux服务器中nginx容器对应的 html目录下

 

4.5、配置域名的SSL证书

 

 

4.6、nginx配置

4.6.1、进入nginx配置目录下,删除default .conf文件中的所有内容

 

4.6.2、将下面的配置复制到default.conf文件中

# 第一个服务器预留基地项目------------------------ ----------------------服务器 { 监听 80; #侦听80端口listen 443 ssl; #侦听443端口,用于SSL server_name Foreverplans.cn www.foreverplans.cn; # 修改为你自己的域名 域名添加www的域名 # 注意证书文件位置,是从/etc/nginx/下开始算起的 ssl_certificate cert/1_foreverplans.cn_bundle.crt; #修改证书文件路径 ssl_certificate_keycert/2_foreverplans.cn.key; #修改私钥密钥文件路径 ssl_session_timeout 5m; #5分钟会话会话保持 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:高:!aNULL:!MD5:!RC4:!DHE; #加密套件 ssl_prefer_server_ciphers on;根/usr/share/nginx/html; #指向前端项目index index.html index.php index.htm;location / {try_files $uri $uri/ /index.html;#try_files $uri $uri/ =404;} client_max_body_size 1024m;}#第一个server代理8085端口------------------------------server {listen 80; #侦听80端口listen 443 ssl; #监听443端口,用于SSL server_name cat.foreverplans.cn www.cat.foreverplans.cn; # 修改为你自己的域名 域名添加www的域名 # 注意证书文件位置,是从/etc/nginx/下开始算起的 ssl_certificate cert/cat.pem; #修改证书文件路径 ssl_certificate_key cert/cat.key; #修改私钥密钥文件路径 ssl_session_timeout 5m; ssl_协议 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:高:!aNULL:!MD5:!RC4:!DHE; #加密套件 ssl_prefer_server_ciphers on; client_max_body_size 1024m;位置/{ proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-真实IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 这里需要写服务器内网地址,不能用127.0.0.1和localhost,端口号与这边保持一致 proxy_pass http://172.26.97.231:8085; #修改内网ip与端口号 }}

4.6.3、修改后保存并退出,重新启动nginx容器
#先用 [docker ps –a] 命令找到对应容器ID#才可以删除容器docker restart [容器ID]

4.6.4、查看容器(是否启动成功)

docker ps -a

 好啦!我们已经全部准备完毕!


五、访问域名【看看效果】

成功啦!


六、无域名版本

6.1、增加项目配置代理端口

6.2、在前端项目中打开终端【执行下面命令】

npm install -- registry=https://registry.npmmirror.com

 

 6.3、继续在终端执行资源命令

npm run build:prod

6.4、查看dist目录【如下情况,即是资源成功】 

6.5 、将前端项目拷贝到Linux服务器中nginx容器对应的html目录下 

目录下的原文件全部删除!

 

6.6、接入站点(直接使用公网ip即可)

七、数据汇总

< thead>
服务器使用Docker部署类型链接
小程序管理平台——桌面项目部署视频若依vue前床解放版——服务器使用docker快速部署(云端部分)_哔哩哔哩_bilibili

小程序管理平台——前端项目部署(有域名版)

< p>

视频若依vue前扶手解放版——服务器使用docker快速部署(前置部分——有域名版)_哔哩哔哩_ bilibili
小程序管理平台——前端项目部署(无域名版)视频若依vue前硬件独立版本——服务器使用docker快速部署(前端部分——无域名版)_哔哩哔哩_bilibili

八、总结

当你在出现问题时:

确保上述步骤是否操作完成,是否有操作错误确定自己​​每次输入的命令行是否在对应的目录下容器启动失败,可以查看容器日志,进行诊断无法解决报错时,可将报错复制,进行百度

Java——Linux使用Docker部署若依前独立版【保姆级教程】原创由知识百科栏目发布,感谢您对的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java——Linux使用Docker部署若依前独立版【保姆级教程】原创

Copyright © 2012-2023 普诚元亨工作室 版权所有

*本站部分网页素材及相关资源来源互联网,如有侵权请速告知,我们将会在24小时内删除*

Z-BlogPHP 1.7.3 琼ICP备2022020219号