Docker部署需要MySQL的SpringBoot项目

部署步骤

1.1、项目打包

将SpringBoot项目打成一个jar包。

在这里插入图片描述

1.2、上传到服务器

使用文件上传工具将jar包上传到服务器。下列上传工具为WinSCP

可以在Windows中编写好Dockerfile文件,然后直接也上传到服务器端。到时候就可以直接使用了。

在这里插入图片描述

1.3、Dockerfile文件的编写

#  FROM表示使用的基础镜像为JDK8
FROM java:8 
# 设置镜像时区
RUN echo "Asia/Shanghai" > /etc/timezone
# 添加当前路径下的blog-backend-1.0-SNAPSHOT.jar到镜像中,并改名为app.jar
ADD /blog-backend-1.0-SNAPSHOT.jar app.jar
# 镜像入口,镜像启动时运行
ENTRYPOINT ["java","-jar","/app.jar"]
# 暴露的端口
EXPOSE 8091

1.4、登录服务器

使用工具putty登录到服务器。
在这里插入图片描述
进入到Dockerfile和jar包所在的路径
在这里插入图片描述

1.5、构建镜像

使用docker build -d blog-backend .构建镜像。

docker build :Docker构建镜像命令
-d blog-backend :表示给镜像取名为blog-backend
.  :表示在当前路径构建镜像

在这里插入图片描述

1.6、启动镜像

使用docker run -d --net host blog-backend后台运行镜像。
也可以使用功能docker run -it --net host blog-backend运行镜像,会打印相关日志。

docker run  :容器启动命令。容器可以看做另一个电脑,虚拟机。
-d :后台运行
-i : 以交互模式运行
-t : 为容器再分配一个伪输入终端
-p : 可以指定要映射的IP和端口。比如-p 9000:8080,表示宿主机端口9000跟容器内端口8080映射。
--net host : 设置容器的网络直接与宿主机相连。比如需要连接mysql为localhost:3306,
			项目暴露地址为8091。如果不使用--net host参数,容器会使用自己内部的网络,
			连接容器自己的3306端口,暴露自己的8091端口。但是外网无法访问,因为外网
			访问的是宿主机。所以可以使用-p参数端口映射,将容器的端口映射到宿主机,
			但也无法连接上mysql,所以直接使用--net host,让容器使用宿主机的网络,就
			可以直接连接宿主机的mysql,直接将容器项目的8091映射到宿主机。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43621091/article/details/113689741