Docker部署一个SpringBoot项目(超级详细)

注意:下面的教程主要是针对 Centos7 的,如果使用的其他发行版会有细微的差别,请查看官方文档。

Docker部署一个SpringBoot项目(超级详细)

  • 一、安装Docker
    • 1.卸载旧版
    • 2.配置Docker的yum库
    • 3.安装Docker
    • 4.设置开机自启动
    • 5.配置镜像加速
  • 二、安装MySQL容器
  • 三、自定义镜像
  • 四、参考


一、安装Docker

1.卸载旧版

  • 首先如果系统中已经存在旧的Docker,则先卸载:
    yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest-logrotate \docker-logrotate \docker-engine
    

2.配置Docker的yum库

  • 首先安装一个yum工具

    yum install -y yum-utils
    
  • 安装成功后,执行命令,配置Docker的yum源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

3.安装Docker

  • 安装Docker
    yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    docker --version
    

4.设置开机自启动

  • 设置Docker开机自启动,并且重启
    systemctl enable docker
    systemctl restart docker
    

5.配置镜像加速

  • 这个也可以不用配置,只是让下载镜像的速度更快而已。
  • 这个需要注册一个阿里云的账号,每个人的地址都是唯一的。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、安装MySQL容器

  • 创建MySQL文件的存放位置
    mkdir -p ~/dev/mysql
    cd ~/dev/mysql
    mkdir data
    mkdir conf
    mkdir init
    mkdir file
    ll
    cd ~   
    
  • 初始化SQL脚本放置在 init 目录下(没有可以不放)
  • 注意:这个只有在第一次创建MySQL容器的时候才会初始化,并且一定要在SQL脚本文件中选择database。
    在这里插入图片描述
  • 安装MySQL镜像
    docker run -d \
    --name mysql \
    -p 3306:3306 \
    -e TZ=Asia/Shanghai \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /root/dev/mysql/data:/var/lib/mysql \
    -v /root/dev/mysql/init:/docker-entrypoint-initdb.d \
    -v /root/dev/mysql/conf:/etc/mysql/conf.d \
    -v /home/dev/mysql/file:/var/lib/mysql-files \
    mysql
    
  • 创建一个网络并且将MySQL加入网络中
    docker network create GDB
    docker network connect GDB mysql
    

三、自定义镜像

  • 创建存放应用的目录
    mkdir -p ~/myapp/olive-app
    cd ~/myapp/olive-app
    
  • 编写Dockerfile文件,自定义镜像
    # 基础镜像
    FROM openjdk:17
    #设定时区
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    # 拷贝项目
    COPY olive-0.1.jar /olive.jar
    # 入口
    ENTRYPOINT ["java", "-jar", "/olive.jar"]
    
  • xxx.jarDockerfile 一起上传到服务器
    在这里插入图片描述
  • 构建自己应用的镜像
    docker build -t olive .
    
  • 利用镜像生成容器并且加入到前面创建的网络中与MySQL通信
    docker run -d --name olive -p 8800:8800 --network GDB olive
    

四、参考

  • [1]. 镜像仓库
  • [2]. Dockerfile的copy复制文件夹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/774172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过一篇文章让你了解如何学习C++

如何学习C 前言一、如何学习C二、别人是怎么学C的21天学会C编程能力与编程年龄 三、自己怎么学总结 前言 学习C需要掌握其基础语法、指针和内存管理、STL库使用、面向对象编程等核心概念。可通过阅读权威书籍、在线教程和参考官方文档来系统学习。实践是关键,通过…

网络编程基本概念(一篇文章掌握基本内容的详细概念,IP,端口号,协议,协议分层,封装和分用,客户端和服务端,请求和回应,两台主机的通信)

IP地址 概念 IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主机的⽹络地址。 就像我们发送快递⼀样,需要知道对⽅的收货地址,快递员才能将包裹送到⽬的地。 IP的格式 IP地址…

自动化面试常见算法题!

1、实现一个数字的反转,比如输入12345,输出54321 num 12345 num_str str(num) reversed_num_str num_str[::-1] reversed_num int(reversed_num_str) print(reversed_num) # 输出 54321代码解析:首先将输入的数字转换为字符串&#xff…

systemd-journal(三)之systemd.journal-fields

文章目录 写在前面概述用户日志字段(User Journal Fields)MESSAGEMESSAGE_IDPRIORITYCODE_FILE, CODE_LINE, CODE_FUNCERRNOINVOCATION_ID, USER_INVOCATION_IDSYSLOG_FACILITY, SYSLOG_IDENTIFIER, SYSLOG_PID, SYSLOG_TIMESTAMPDOCUMENTATIONTIDUNIT, …

渗透测试——分享几个我常用渗透网站

前言 经常有小伙伴问我常用的渗透网站有哪些,花点时间整理出来,废话不多说,直接上网站。 一、雨苁 雨苁 这个网站从我接触网络安全一直在用,里面有几个很有用的工具如:在线地图情报搜集,开源情报信息收集…

【2G 50元/年 4G 618/3年!】支持比价必赔 送抽奖机会 京东云服务器推荐 附阿里云 腾讯云价格对比表

《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实时更新】云服务器1分钟教会你如何选择教程 https://docs.qq.com/document/DV0RCS0lGeHdMTFFV?tab000003 ​ 当前活动:采购季&#…

揭秘抖音百科词条创建全攻略!

在当今社交媒体的盛行时代,抖音作为一款备受青睐的短视频平台,一直以来都备受人们的喜爱和追捧。而在抖音上的各种短视频内容之中,往往会涉及各种明星名人、品牌产品以及各种时事热点。为了更好地让用户获取相关信息,抖音百科词条…

闲鱼教程大全(价值2000)

实战干货视频教程 免费发送内容: "闲鱼", 获取提取码

有道翻译接口逆向

前言 本文主要介绍了有道翻译的接口调用情况,对两个接口进行了初步的接口逆向,只供学习交流使用。 找到翻译接口 webtranslate 网页地址:https://fanyi.youdao.com/index.html#/ 首先找到翻译接口 可以看出,翻译接口是 webt…

【数据结构】归并排序(不用递归)

大家好,我是苏貝,本篇博客带大家了解归并排序,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 归并排序(用递归) 之前我们写了一篇博客来介绍如何用递归实现归并排序…

工业无线网关在汽车制造企业的应用效果和价值-天拓四方

随着智能制造的快速发展,工业无线网关作为关键通信设备,在提升生产效率、优化生产流程、实现设备间的互联互通等方面发挥着越来越重要的作用。以下是一个关于工业无线网关在智能制造行业应用的具体案例,展示了其在实际生产中的应用效果和价值…

fastadmin学习01-windows下安装部署

下载源代码 官网 安装 解压,然后使用phpstorm打开 修改配置文件 创建数据库 -- drop database fastadmin01; create database fastadmin01;这样fastadmin就部署好了 访问主页也能看到前台页面

进行接口测试时,连接数据库,对数据源进行备份、还原、验证操作

进行接口测试时,我们需要连接到数据库中,对数据源进行备份、还原、验证等操作。 一、Python连接数据库常见模块 MysqlDBpython2时代最火的驱动库。基于C开发,对windows平台不友好。现在已经进入python3时代,基本不再使用MysqlCl…

Vue3气泡卡片(Popover)

效果如下图:在线预览 APIs 参数说明类型默认值必传title卡片标题string | slot‘’falsecontent卡片内容string | slot‘’falsemaxWidth卡片内容最大宽度string | number‘auto’falsetrigger卡片触发方式‘hover’ | ‘click’‘hover’falseoverlayStyle卡片样式…

Qt/QML编程之路:画线及倒车影响(48)

前言: 倒车影像中有一个属性比较实用,那就是倒车线,这条线很明显会在视频图像上叠加显示,或者说在视频上面一个图层画的线。这里有一个画线的Qt示例,用于在一个scene上画一个对角线: #include "mainwindow.h" #include <QApplication> #include <QtW…

python接口自动化测试 之mock模块基本使用介绍

mock作用 解决依赖问题&#xff0c;达到解耦作用 当我们测试某个目标接口&#xff08;模块&#xff09;时&#xff0c;该接口依赖其他接口&#xff0c;当被依赖的接口未开发完成时&#xff0c;可以用mock模拟被依赖接口&#xff0c;完成目标接口的测试 模拟复杂业务的接口 …

argocd部署

一、前言 ArgoCD 是一个开源的、持续交付工具&#xff0c;用于自动化部署应用程序到 Kubernetes 集群。它基于 GitOps 理念&#xff0c;通过使用 Git 作为单一的源头来管理应用程序的配置和部署状态&#xff0c;argocd会定时监控git仓库中的yaml配置文件&#xff0c;当git仓库中…

案例分享|智能机器人空调压缩机曲轴轴套装配

随着空调市场的不断扩大和消费者对于空调性能要求的提高&#xff0c;空调压缩机的制造质量也日益受到关注。作为压缩机核心部件之一的曲轴轴套&#xff0c;其装配质量直接关系到压缩机的性能和稳定性。 一、案例背景 某知名空调制造商在生产某型号压缩机时&#xff0c;发现曲轴…

2024年3月GESP等级认证C++编程五级真题

2024年3月GESP认证C编程五级真题试卷 题目总数&#xff1a;27 总分数&#xff1a;100 选择题 第 1 题 单选题 唯⼀分解定理描述的内容是 ( ) ? A.任意整数都可以分解为素数的乘积 B.每个合数都可以唯⼀分解为⼀系列素数的乘积 C.两个不同的整数可以分解为相同…

初步接触C++

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习C&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 初步区别C语言和C命名空间1.命名空间的定义2.命名空间的使用 C的输入输出缺省参数1.缺省参数…