当前位置: 首页 > news >正文

【docker 部署springboot项目】


一、docker安装

1.检查Linux内核版本高于3.10才可安装

uname -r

2. 卸载旧版本

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3. 使用docker仓库进行安装
  • 安装所需的软件包
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    之前安装过:

  • 设置稳定的仓库
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 更新yum缓存

sudo yum makecache fast

5. 安装最新版本的 Docker Engine-Community 和 containerd

sudo yum install docker-ce docker-ce-cli containerd.io

5. 启动Docker后台服务

sudo systemctl start docker

6. 查看是否成功启动docker

二、docker安装数据库

1. 查看可用的 MySQL 版本

docker search mysql

2. 使用docker命令下载mysql

docker pull mysql:8.0

3. 查看该mysql镜像是否下载成功

docker images

4. 创建并运行mysql容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql8.0 mysql:8.0

  • 这里的容器名字叫:mysql8.0``mysql的root用户密码是:123456
  • -p将容器的端口映射到本机的端口
5. 查看mysql容器是否启动成功

docker ps

6. 进入mysql容器并登陆mysql

docker exec -it mysql8.0 /bin/bash
mysql -u root -p

三、docker部署springboot项目

1. 快速创建sprintboot项目

2. 打包项目

3. 检查并运行项目是否打包成功

4. 编写Dockerfile文件


注意:

  • java:8是指Docker Hub上官方提供的java镜像,版本号是8也就是jdk1.8,有了这个基础镜像后,Dockerfile可以通过FROM指令直接获取它的状态——也就是在容器中java是已经安装的,接下来通过自定义的命令来运行Spring Boot应用
  • COPY: 将当前项目所有的jar包 拷贝到项目应用jar包
  • EXPOSE 519 : 对外暴露端口
  • ENTRYPOINT ["java","-jar","Sandra.jar"] : 执行 java -jar 命令
5. 部署文件

  • 新建ideaCode目录,并上传项目jar包及DockerFile文件
6. 制作镜像

docker build -t sandra .

  • -t 表示将新镜像命名为 sandra ,注意命名字母应该要小写,大写会报错
7. 运行镜像

docker run -d -p 519:519 --name sandra sandra

  • -d表示后台运行, -p表示端口映射 --name 表示别名
8. 访问项目
  • 宿主机访问: curl localhost:519

  • 浏览器访问: http://175.24.66.160:519/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第一章 Typescript小白快速入门
  • Flowable-流程图标与流程演示
  • Flutter对接FlutterBugly 报错Zone mismatch
  • 鸿蒙开发 -本地数据库操作
  • InjectFix 热更新解决方案
  • LVS+Nginx高可用集群---keepalived原理与实战
  • 捷配PCB打样采用机械盲埋孔制造,有何优势?
  • 硅纪元视角 | 微软开发全新AI模型,革新电子表格处理效率!
  • 排队问题--逆序对应用
  • 使用druid对sql进行血缘解析
  • 去除重复字母
  • Python酷库之旅-第三方库Pandas(027)
  • 分类题解清单
  • 网络请求之urllib.request的使用(Get方式)
  • 数组 704.二分查找法
  • Angular Elements 及其运作原理
  • CSS相对定位
  • express + mock 让前后台并行开发
  • iOS 系统授权开发
  • Linux中的硬链接与软链接
  • React-Native - 收藏集 - 掘金
  • spring security oauth2 password授权模式
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • vue中实现单选
  • 多线程事务回滚
  • 搞机器学习要哪些技能
  • 力扣(LeetCode)21
  • 模型微调
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 小程序 setData 学问多
  • 责任链模式的两种实现
  • 怎么把视频里的音乐提取出来
  • Java总结 - String - 这篇请使劲喷我
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • #### go map 底层结构 ####
  • #laravel 通过手动安装依赖PHPExcel#
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #预处理和函数的对比以及条件编译
  • $().each和$.each的区别
  • $.ajax中的eval及dataType
  • (02)Unity使用在线AI大模型(调用Python)
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十六)视图变换 正交投影 透视投影
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法)N皇后问题
  • (五)网络优化与超参数选择--九五小庞
  • (转)人的集合论——移山之道
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .helper勒索病毒的最新威胁:如何恢复您的数据?