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.rhkb.cn/news/289202.html

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

相关文章

#Linux(make工具和makefile文件以及makefile语法)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)make为编译辅助工具,解决用命令编译工程非常繁琐的问题 (2)在终端键入make即可调用make工具&#xff0…

Linux:环境变量的特性及获取

目录 一、环境变量基本概念 1.1命令行参数 1.2常见环境变量 二、环境变量相关指令 创建本地变量 三、环境变量通常是具有全局属性的 一、环境变量基本概念 环境变量(environment variables)不是一个而是一堆,彼此之间其实没有关系。本质上是为了解决不同场景下…

ebpf的CO-RE功能介绍

目录 CO-RE 引入 思路 介绍 使用 CO-RE 引入 因为ebpf需要深入内核,但内核中的数据结构很可能在不同版本中定义不同(尤其是结构体,可能会增加某个字段) 但我们在访问结构体时,比如一般通过指针偏移量来拿到特定变量的首地址 如果定义变化,偏移量就会变化,就会需要多份ebp…

算法打卡day20

今日任务: 1)669.修剪二叉搜索树 2)108.将有序数组转换为二叉搜索树 3)538.把二叉搜索树转换为累加树 669.修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 - 力扣(LeetCode) 给你二叉搜索树的根…

【机器学习】代价函数

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

是德科技安捷伦 E5052B信号源分析仪

181/2461/8938产品概述: Keysight E5052B(安捷伦)信号源分析仪,10 MHz 至 7 GHz,具有许多增强的性能特性。它在表征 VCO 或其他类型的高频信号源以及高速数据通信系统中的时钟抖动评估方面提供了世界上最高的测量吞吐…

Vuepress 2从0-1保姆级进阶教程——美化与模板

Vuepress 2 专栏目录 1. 入门阶段 Vuepress 2从0-1保姆级入门教程——环境配置篇Vuepress 2从0-1保姆级入门教程——安装流程篇Vuepress 2从0-1保姆级入门教程——文档配置篇Vuepress 2从0-1保姆级入门教程——范例与部署 2.进阶阶段 Vuepress 2从0-1保姆级进阶教程——全文搜索…

一分钟开服 《幻兽帕鲁》游戏专属服务器by京东云主机

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程,非常简单,京东云推出幻兽帕鲁镜像系统,镜像直接选择幻兽帕鲁镜像即可一键自动部署,不需要手动操作,真正的新手0基础部署幻兽帕鲁,阿腾云atengyun.…

精品凉拌菜系列热卤系列课程

这一系列课程涵盖精美凉拌菜和美味热卤菜的制作技巧。学员将学习如何选材、调味和烹饪,打造口感丰富、色香俱佳的菜肴。通过实践训练,掌握独特的烹饪技能,为家庭聚餐或职业厨艺提升增添亮点。 课程大小:6.6G 课程下载&#xff1…

【测试开发学习历程】MySQL增删改操作 + 备份与还原 + 索引、视图、存储过程

前言: SQL内容的连载,到这里就是最后一期啦! 如果有小伙伴要其他内容的话,我会追加内容的。(前提是我有学过,或者能学会) 接下来,我们就要开始python内容的学习了 ~ ~ 目录 1 …

蓝鹏为何专注智能测量仪的加工定制?

在这个日新月异的科技时代,自动化工厂层出不穷,并且是在不断地升级改造,为了产品的高速高质高效的自动化生产,智能测量仪的重要性不言而喻。智能测量仪的种类很多,蓝鹏一直致力于专业仪器定制,但你有没有想…

STM32通用输入输出

一、GPIO介绍 功能: 输入(Input): 浮空:输入没有接上拉和下拉 模拟:输入没有走上拉和下拉走的是模拟输入 上拉:上拉电阻是合上的,接入点为上拉电阻 下拉:下拉电阻是合上的 输…

蓝桥杯 - 小明的背包1(01背包)

解题思路: 本题属于01背包问题,使用动态规划 dp[ j ]表示容量为 j 的背包的最大价值 注意: 需要时刻提醒自己dp[ j ]代表的含义,不然容易晕头转向 注意越界问题,且 j 需要倒序遍历 如果正序遍历 dp[1] dp[1 - vo…

Radio Silence for mac 好用的防火墙软件

Radio Silence for Mac是一款功能强大的网络防火墙软件,专为Mac用户设计,旨在保护用户的隐私和网络安全。它具备实时网络监视和控制功能,可以精确显示每个网络连接的状态,让用户轻松掌握网络活动情况。 软件下载:Radio…

mysql公用表表达式CTE

公用表达式是MySQL8.0的新特性,它是一个命名的临时结果集,作用范围是当前语句。 可以理解成为当前sql语句定义了一个视图,sql语句的任何地方都可以使用这个视图,如果被多次使用就体现出了公用表达式的特点公用。 依据语法结构和执…

从零开始的深度学习入门指南

1. 引言 1.1. 深度学习的定义和背景:深度学习是一种复杂的机器学习技术,其目的是训练一个深度神经网络来解决现实世界中的各种问题。深度学习由一组相互连接的神经元组成,每个神经元都有自己的权重,这些权重被优化以实现预测和分…

2024河北煤炭装备展览会|河北采煤装备展会|河北煤博会

2024中国(石家庄)国际煤炭装备及矿山设备博览会 时间:2024年7月4-6日 地点:石家庄国际会展中心.正定在快速发展的科技时代,能源行业始终是国家发展的重要支柱。作为传统的能源巨头,煤炭产业在面临转型升…

git最常用的命令与快捷操作说明

git最常用的命令与快捷操作说明 最常用的git三条命令1、git add .2、git commit -m "推送注释"3、git push origin 远程分支名:本地分支名 其他常用命令本地创建仓库分支删除本地指定分支切换本地分支合并本地分支拉取远程仓库指定分支代码过来合并推送代码到远程分支…

Gitlab 实现仓库完全迁移,包括所有提交记录、分支、标签

1 方案一&#xff1a;命令 cd <项目目录> git fetch --all git fetch --tags git remote rename origin old-origin #可以不保留 git remote add origin http://***(项目的新仓库地址) #git remote set-url origin <项目的新仓库地址> git push origin --all git…

(1) 易经与命运_学习笔记

个人笔记&#xff0c;斟酌阅读 占卦的原理 三个铜板&#xff0c;正面是3&#xff0c;反面2&#xff0c;三个一起转&#xff0c;得出6,7,8,9 数字象6老阴7少阳8少阴9老阳 生数和成数 生数和成数应该说出自《河图》。其中一二三四五为生数&#xff0c;六七八九十为成数。 生…