springboot项目集成docker部署服务器

1.先搭建docker环境:

安装docker
yum -y install docker

启动docker 后台服务
service docker start 

查看docker启动状态
systemctl status docker 

重启docker(略过这步,只是告诉你命令)
systemctl restart docker

测试运行hello-world
docker run hello-world

2.修改docker下载镜像路径,因为默认国外的会很慢,替换为国内的镜像源

vim /etc/docker/daemon.json
加入以下的代码
{
    "registry-mirrors":["<your accelerate address>"]
}

3.打包自己的springboot项目

mvn package

将jar包上传到服务器上

4.创建dockerfile

注意事项:dockerfile要和jar包在同一个路径下才可以,不然会访问不到
#创建Dockerfile文件
touch Dockerfile 

#编辑Dockerfile文件
vim Dockerfile

#输入以下内容,注意看有些包名你要改成自己jar包文件
FROM java:8
EXPOSE 81
ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar
RUN sh -c 'touch /boot-docker.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /boot-docker.jar" ]

#参数说明推荐博客:
https://www.cnblogs.com/ling-yu-amen/p/10955361.html



5.开始构建dockerfile

#最后的.不要落了 -t后面代表你要构建的名字
docker build -t boot-docker .

#控制台会输出:
Sending build context to Docker daemon  16.81MB
Step 1/7 : FROM java:8
 ---> 2x5w7e2z3w9e
Step 2/7 : EXPOSE 81
 ---> Using cache
 ---> 2we5x8e62da8
Step 3/7 : VOLUME /slm
 ---> Using cache
 ---> e21x47w2b868
Step 4/7 : ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar
 ---> Using cache
 ---> 2479weaafca9
Step 5/7 : RUN sh -c 'touch /boot-docker.jar'
 ---> Using cache
 ---> 81w2q36x8waf
Step 6/7 : ENV JAVA_OPTS=""
 ---> Using cache
 ---> 78424q8w2e46
Step 7/7 : ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /boot-docker.jar" ]
 ---> Using cache
 ---> 97458asde771
Successfully built 97458asde771
Successfully tagged bootdocker:latest

6.构建成功后,映射端口启动run

#后面的ID,就是刚刚构成镜像的ID,Successfully后面的那串ID
docker run -d -p 81:81 97458asde771

#查看所有容器 -a代表没有启动的也显示
docker ps -a

#进入容器
docker exec -it 容器id bash

#进入容器后,可以访问一下方法
curl localhost:81/index

#执行无误后代表没有问题,当然有自信,可以省略进入容器那一步,不过至少可以排除点问题

7.控制台输出信息后,代表成功,然后直接windows浏览器访问就可以了;
在这里插入图片描述

8.博主踩过的坑:

①编写dockerfile的时候add一直是查找不到文件,最后发现两个原因,第一个是因为jar包和dockerfile没在同一个文件,第二个是因为add 不需要写jar包的绝对路径或者完整路径,只需要写文件名称就可以了,因为他在同一个目录下。
在这里插入图片描述

②因为博主反复折腾了很多遍,然后docker居然崩掉了,报了一个too often,访问太频繁的错误给我,然后重启也不行,关掉也不行,最后上网查,将daemon.json改成daemon.conf,修改了个后缀就可以了,现在我也不清楚原因。
(解决思路:改成.conf这个文件就不会生效,所以才会启动起来,然后改回.json启不起来是因为文件的json格式错误,要认真检查,然后在输入:systemctl daemon-reload,重载一下配置,然后再重启,就没问题了)
在这里插入图片描述

mv /etc/docker/daemon.json /etc/docker/daemon.conf

③dockerfile也运行成功了,但是浏览器还是访问不了,这个搞了好久好久。最后发现是个大乌龙。因为博主是用宝塔的,我以为宝塔的端口放行了就可以了,没想到原来还要放行阿里云服务器的安全组,最后放行之后就解决了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个详细教程来帮助您部署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。如果您有任何问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值