使用Docker部署SpringBoot项目(避坑+超级详细版本)

首先呢,非常感谢我们一起相遇在这个地方,想必此刻的你也是在一个学习求知的过程,我们一样,我们都是在求知的路上匍匐前进!看到这篇文章,我只希望您能和我一起,安静的看完这篇文章,学有所获,解决您的困惑,让您的时间付出值得!很感谢我们的相遇,祝福我们,明天会更好!如果有困惑,请留言!

1.确定Centos的版本

首先呢,我们确定一下Centos的版本,这一步是非常重要的,一个良好的开始是成功的一半,不然后期我们启动docker怎么也都启动不起来,那就是这里的坑

[WangHui@WangHui ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

2.配置yum源

因为我们如果使用yum update命令升级所有包同时也升级软件和系统内核,将会非常慢,所以使用国内的yum源,速度将会是非常可爱的,下来我们就配置一下

首先做一个备份,以防万一,如果我们配置失败了,还能恢复人家原来的镜像源

[root@WangHui /]# mkdir /my_prepare
[root@WangHui /]# cp -r  /etc/yum.repos.d /my_prepare/
[root@WangHui /]# cd /etc/yum.repos.d/
[root@WangHui yum.repos.d]# ls
]                CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
Centos-7.repo    CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
Centos-7.repo.1  CentOS-Debuginfo.repo  CentOS-Sources.repo    docker-ce.repo
[root@WangHui yum.repos.d]# 

接下来我们下载阿里云的镜像源,千万看清楚了,自己的Centos是7还是8,别下载错了

方法一:如果手速不快,yum还能用,那就使用wget安装吧

[root@WangHui /]# yum install wget -y
[root@WangHui /]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

方法二:如果你手速快,已经损毁了yum源,那就这样吧

[root@WangHui /]# curl -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

有时候,走错一步,下一步就会变得艰难,但是请不要一直遗憾抱怨,去寻找方法,去解决困境,走出来才是最重要的

然后我们清理一下缓存

[root@WangHui /]# yum clean all
[root@WangHui /]# yum makecache

3.更新软件包和系统版本

我的已经更新过了,就只作为演示哈,大家一定要按照步骤来

[root@WangHui ~]# yum update
已加载插件:fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
No packages marked for update
[root@WangHui ~]# 

4.卸载旧版本

为了以防万一,造成后期莫名错误。我们这里先提前对于这些老旧顽固分子进行卸载
有时候呢,许多事情过去就是过去,请千万不用藕断丝连,不要给自己留有幻想,实际一些,显示一点,明白差距,然后前行!

 [root@WangHui ~]# yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

5.安装一系列预备软件

我已经安装过啦,还是只作为演示哈,相信大家一定可以做得很好地,加油鸭!

[root@WangHui ~]# yum -y install gcc  gcc-c++ yum-utils -y

6.设置stable镜像仓库

还是老道理,金窝银窝不如自己的不如自己的狗窝,哪里好都没有祖国好,所以我们使用我们自己的镜像仓库,不仅快,也因为我们说的是汉语,我们是中国人!

[root@WangHui ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

但是作为科学,我们又是认真的。使用默认的国外镜像仓库有以下问题

报错:

1 [Errno 14] curl#35 - TCP connection reset by peer

2 [Errno 12] curl#35 - Timeout

7. 更新yum软件包索引

[root@WangHui ~]# yum makecache fast

有点像第二步的哈,确实有点类似,可以研究一下哈

8.安装DOCKER CE

[root@WangHui ~]# yum -y install docker-ce docker-ce-cli containerd.io

速度还是杠杠滴,所以说嘛,还是祖国好!如果不认可,请执行 rm -rf /* ,然后离开,谢谢!

9.启动docker

[root@WangHui ~]# docker version //查看版本
[root@WangHui ~]# systemctl start docker //启动
[root@WangHui ~]# systemctl status docker //查看状态
[root@WangHui ~]# systemctl stop docker  //停止
[root@WangHui ~]# systemctl status docker  //开机自启

启动之前先看看version

没嘛达哈

帮助启动类命令

· 启动docker: systemctl start docker

· 停止docker: systemctl stop docker

· 重启docker: systemctl restart docker

· 查看docker状态: systemctl status docker

· 开机启动: systemctl enable docker

· 查看docker概要信息: docker info

· 查看docker总体帮助文档: docker --help

· 查看docker命令帮助文档: docker 具体命令 --help

10.创建SpringBoot项目(测试使用)

我们选择SpringBoot快速生成项目

选中web工程,这样我们可以避免自己写Get和Post请求进行测试


11.启动项目进行测试


浏览器客户端访问

12.此处提供几个非常好的插件,供大家参考


13.配置docker, Docker开启远程访问

[root@WangHui ~]# vim /usr/lib/systemd/system/docker.service
# 在ExecStart=/usr/bin/dockerd追加
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
[root@WangHui ~]# systemctl stop firewalld.service //关闭防火墙(切记切记,端口无法访问要检查防火墙)

# 重新启动
[root@WangHui ~]# systemctl daemon-reload
[root@WangHui ~]# systemctl restart docker

尝试访问

输入 ip addr查看自己虚拟机的ip地址,如果有误,请网上寻找虚拟机网络配置教程

远程访问测试

14.IDEA的docker插件配置远程

tcp://虚拟机IP:端口号 ,参考-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock,端口与此一致

15.项目打包(此处有坑)

本地测试报错,缺乏主要资源

如果直接使用docker打包运行就会报 no main manifest attribute, in /app.jar

此错误是由于该版本太低,太高打包直接报错,所以要与jdk版本匹配

太高

正确版本对应

pom中使用该源码替换,让自己去匹配

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin>

然后clean,再重新打包

正确情况

启动成功

16.编写Dockerfile

FROM openjdk:8-jdk-alpine
ADD ./mydemo0127-0.0.1-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-jar","app.jar"]

17.运行dockerfile

18.启动容器

[root@WangHui ~]# docker images //查看镜像
REPOSITORY   TAG            IMAGE ID       CREATED         SIZE
wr0127       latest         0c9066443b55   4 minutes ago   122MB //镜像名
openjdk      8-jdk-alpine   a3562aa0b991   3 years ago     105MB //拉取的jdk包
docker run -it -p 代理端口号:原端口号 --name=容器名 镜像名/可用镜像id代替
[root@WangHui ~]# docker run -it -p 521:8080 --name=love love


使用Docker部署SpringBoot项目(避坑+超级详细版本)相关推荐

  1. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  2. Docker 部署SpringBoot项目不香吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...

  3. 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式

    又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式 部署思路: 具体步骤: 1.打成jar 2.上传到服务器 3.启动JDK容器 4.进入JDK 容器 启动 项 ...

  4. docker 挂载目录_完美解决:Docker部署SpringBoot项目后图片无法访问和上传,3招搞定!...

    以前使用FTP在Linux中使用java -jar xxx.jar部署SpringBoot项目时,由于在项目中指定了主机文件存放路径映射,可以直接访问服务器的文件. 但是最近入坑Docker,将Spr ...

  5. 手牵手教Docker部署Springboot+vue ,全过程十分详细,轻松完成项目部署(简单,高效,通用)

    手把手教Docker部署Springboot+vue ,详细全过程,轻松完成项目部署(简单,高效) 上线前准备 腾讯云的服务器,服务器安装好docker 和docker-compose 最好事先了解技 ...

  6. 使用IDEA集成docker部署springboot项目及bug解决并连同redis、MySQL

    流程介绍 安装docker(windows) 配置docker源加速 docker安装redis IDEA集成docker # IDEA连接docker 配置springboot项目 打包成docke ...

  7. 史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!

    在学习编程的时候,我们都会想,该怎么把自己写出来的项目和创意分享给大家勒.直接给代码吗?平常人看不懂,环境还需要一大堆. 那么部署到服务器上,让人能够直接访问,我想这应该是最棒的方式了吧. 使用Doc ...

  8. 就几条命令,一键学会Docker部署SpringBoot项目

    今天,我们使用docker的安装方式,来安装一下我们的项目,实验环境是centos 7系统上,本实验适用部署大部分Springboot项目.文末有40分钟的视频教学哈! eblog项目地址: http ...

  9. 服务器Docker部署springboot项目

    前言:之前项目重来没有用到过Docker部署,最近的一个项目需要,从头开始整一遍Docker,记录一下所踩的坑. 1.开防火墙 腾讯云服务器,买来没开防火墙,不知道要不要紧索性就开起来吧 # 查看防火 ...

最新文章

  1. mysql thread safe_Windows环境下完全手工配置Apache、MySQL和PHP(Thread Safe)
  2. 06 回归算法 - 损失函数、过拟合欠拟合
  3. 20145209 2016-2017-2 《Java程序设计》第7周学习总结
  4. python登录接口代码_(转载)Python 的 OAuth 登录接口 python-oauth2
  5. 19年的华为手机还能搭载鸿蒙吗,2019年华为手机出货或超2.15亿部 鸿蒙系统最快10月首秀...
  6. r语言liftchart_R语言强大的绘图功能--附数据和代码
  7. 五个 PostgreSQL 典型故障案例及处理
  8. vue中v-model和v-bind区别
  9. php使用excel公式,使用PHPExcel上的公式问题(Excel2007)
  10. 二级分销系统对企业来说意味着什么?
  11. 用keil怎么擦除_keil如何使用?图文教程告诉你keil怎么使用
  12. python美化excel_Python 使用 prettytable 库打印表格(美化输出)
  13. 现如今99%的区块链都是空气项目
  14. 终于有人把云计算、大数据和人工智能讲明白了!
  15. 开源BI报表工具Metabase初体验
  16. python爬虫20 | 小帅b教你如何使用python识别图片验证码
  17. 计算机毕业设计 SSM汽车维修保养平台 汽车维修维护平台 汽车信息管理系统Java Vue MySQL数据库 远程调试 代码讲解
  18. 【BZOJ5314】【JSOI2018】—潜入行动(树形dp)
  19. 还在直接用 JWT 做鉴权?JJWT 真香
  20. python应用市场app爬虫_【Python实战】Scrapy豌豆荚应用市场爬虫

热门文章

  1. 洛希极限的C语言题目,超过洛希极限,天体就会被撕碎?洛希极限是怎么算出来的?...
  2. dnf如何快速拾取物品_DNF:最经典的十大宠物,你有几个?拥有三个你就是骨灰级玩家!...
  3. HTML文字描边像素,css怎么实现字体描边效果?
  4. 快捷键大全之IE浏览器快捷键大全
  5. 扁平化通用工作汇报PPT模板
  6. 生活大爆炸第十二季在线观看下载(2018)
  7. excel格式调整:表格应用中格式刷技法汇总
  8. SDUT 2020 Autumn Team Contest---31(for 1819)--- C - Car
  9. 怎么查看tomcat服务器项目错误日志,tomcat 启动报错日志查看
  10. 阿里云存储,让更多的创新在身边发生