手把手教你使用Docker部署Vue+Springboot项目(详细版)

目录

前端

一、将Vue项目打包

二、将打包的dist放入到服务器中的一个文件夹中

三、在存放dist的这个文件夹中新建两个文件

四、用docker构建镜像

五、用docker构建容器

后端

六、将springboot项目打包

七、新建一个文件夹,和前端项目平级的文件夹,将打包好的jar包放进去

八、在这个文件夹中创建Dockerfile文件

九、用docker构建镜像

十、用docker构建容器

数据库

前端

一、将Vue项目打包

二、将打包的dist放入到服务器中的一个文件夹中

三、在存放dist的这个文件夹中新建两个文件

Dockerfile文件内容

FROM nginx
 
MAINTAINER onesummer
 
ADD default.conf /etc/nginx/conf.d/
 
COPY dist/ /usr/share/nginx/html/
FROM nginx:该镜像是基于nginx:latest镜像构建的
 
MAINTAINER onesummer:添加说明
 
 
ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
 
COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下

default.conf文件内容


server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

   location ^~/energe/backend{
         proxy_pass http://127.0.0.1:5000; //修改为部署后端的IP+端口,用于前后端联通
	 proxy_read_timeout 120s;
} 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

四、用docker构建镜像

 在前端的文件夹目录下输入docker指令

dcoker build -t vue3-test-front .   //vue3-test-front是镜像名字

 五、用docker构建容器

继续输入docker指令,通过镜像构建容器

docker run -d -p 92:80 --name vue3-first-front vue3-first-front

在电脑中打开127.0.0.1:92进行测试,是否成功部署前端页面 

注:default.conf里面不需要加http

http需要删除,以下是错误示例

http{
server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

   location ^~/energe/backend{
         proxy_pass http://127.0.0.1:5000;
	 proxy_read_timeout 120s;
} 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
}

当该子配置文件加载到主配置文件时,整体结构会是这样:

http {   
http{
server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

   location ^~/energe/backend{
         proxy_pass http://127.0.0.1:5000;
	 proxy_read_timeout 120s;
} 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
}
}
}

所以就会报异常。

子配置文件的话直接这样写就OK了


server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

   location ^~/energe/backend{
         proxy_pass http://127.0.0.1:5000;
	 proxy_read_timeout 120s;
} 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

后端

六、将springboot项目打包

七、新建一个文件夹,和前端项目平级的文件夹,将打包好的jar包放进去

八、在这个文件夹中创建Dockerfile文件

Dockerfile文件内容

FROM openjdk:8
ADD ./smart-recruit.jar app.jar 
EXPOSE 5000
CMD java -jar app.jar  
FROM openjdk:8   //指定了基础镜像为OpenJDK 8。
ADD ./smart-recruit.jar app.jar  /将当前目录下的smart-recruit.jar文件复制到镜像的/app目录下,并将其命名为app.jar
EXPOSE 5000  //声明了容器将监听5000端口  在springboot程序中的sever port同样要填这个端口
CMD java -jar app.jar   //设置了容器启动时运行的命令,即运行app.jar文件 

Dockerfile文件中不要加注释,否则容易报错

九、用docker构建镜像

 在后端的文件夹目录下输入docker指令

docker build -f ./Dockerfile -t vue3-test-back .

十、用docker构建容器

继续输入docker指令,通过镜像构建容器 

docker run -id -p 5000:5000 vue3-test-back

在电脑中打开127.0.0.1:92进行测试,查看是否前后端联通。

数据库

sql文件也需要通过navicat软件放入相应的服务器中的数据库中。

当然,我可以为您提供一个详细程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方式进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大厂前端程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值