Linux使用Docker部署若依前后端分离版【后端保姆级教程】

文章正文
发布时间:2025-05-15 01:44

目录

一、项目规划与前置工作 1.1、docker所需镜像

java:8jdk1.8

mysql:8.0.19

redis:6.0.8

nginx:1.18.0

1.2、使用工具 

IDEA

Navicat

WinSCP

Putty

1.3、防火墙与安全组的配置   1.4、域名解析、备案、SSL证书的准备(可选)  二、Docker和镜像安装 2.1、Docker安装 2.1.1、检查环境

Docker运行环境要求系统为64位、Linux系统内核版本为 3.8以上

查看自己虚拟机的内核:

cat /etc/redhat-release

2.1.2、搭建gcc环境(gcc是编程语言译器) yum -y install gcc yum -y install gcc-c++ 2.1.3、安装需要的软件包 yum install -y yum-utils 2.1.4、装镜像仓库 


因为docker的服务器是在国外,

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

因此可以使用阿里云镜像仓库

yum-config-manager --add-repo
 

2.1.5、新yum软件包索引 yum makecache fast
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 version

2.1.9、配置阿里云镜像加速 

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


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

 2.2、拉取镜像 
2.2.1、拉取镜像java:8(jdk1.8)  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、查看镜像 docker images

三、部署后端 

命令参数说明:

-d:后台运行容器

-p:端口映射,格式为主机端口:容器端口

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

--name:设置容器别名

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

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

将mysql容器存放日志文件的目录:/var/log/mysql挂载在宿主机的/usr/local/mysql/logs下

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是密码,可以自行修改】 

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、创建数据库 

create database cat;

5、查看数据库

show databases;

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

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

7、查看是否导入完成 

show tables;

3.4、导入SQL数据(方法2)【如果已经导入完成,可忽略】  3.4.1、使用Navicat远程连接MySQL 

3.4.1、使用Navicat远程连接MySQL 

 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、后端项目镜像构建 3.7.1、进入jar包同级目录,创建一个Dockerfile文件

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

3.7.3、构建镜像(需要在Dockerfile同级目录下构建)  docker build -t cat:1.0 . 3.7.4、查看当前的镜像 docker images 3.7.5、启动后端项目镜像 docker run -d --name cat -p 8085:8085 cat:1.0 3.7.6、查看容器是否启动成功 docker ps -a

如果成功则代表后端部署完成!

可以访问进一步验证 

后端部署完成!

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

1、查看容器日志

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

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

首页
评论
分享
Top