docker springboot 运维部署详细实例

news2024/12/18 16:26:16

环境安装

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker -v
Docker version 26.1.4, build 5650f9b

镜像构建

Dockerfile 文件内容

FROM openjdk:8
# Author Info 创建人信息
MAINTAINER ratelcloud@foxmail.com
ENV PORT=20001
EXPOSE 20001
RUN mkdir /usr/local/ratel-boot-server
WORKDIR /usr/local/ratel-boot-server
# Rename Jar File To Container
COPY ratel-boot-server.jar ./ratel-boot-server.jar
# Run Config
ENTRYPOINT [ "java", "-java", "/ratel-boot-server.jar" ]

自己打包的 jar 包

-rw-r--r-- 1 root root      336 Dec 17 11:50 Dockerfile
-rwxrwxrwx 1 root root 65123176 Dec 13 17:59 ratel-boot-server.jar
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# ls
Dockerfile  ratel-boot-server.jar

根据 Dockerfile 构建镜像

docker build -t ratel-boot-server:v1.0.0 .

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker build -t ratel-boot-server:v1.0.0 .
[+] Building 0.2s (9/9) FINISHED                                                                               docker:default
 => [internal] load build definition from Dockerfile                                                                     0.0s
 => => transferring dockerfile: 375B                                                                                     0.0s
 => [internal] load metadata for docker.io/library/openjdk:8                                                             0.0s
 => [internal] load .dockerignore                                                                                        0.0s
 => => transferring context: 2B                                                                                          0.0s
 => [1/4] FROM docker.io/library/openjdk:8                                                                               0.0s
 => [internal] load build context                                                                                        0.0s
 => => transferring context: 45B                                                                                         0.0s
 => CACHED [2/4] RUN mkdir /usr/local/ratel-boot-server                                                                  0.0s
 => CACHED [3/4] WORKDIR /usr/local/ratel-boot-server                                                                    0.0s
 => CACHED [4/4] COPY ratel-boot-server.jar ./ratel-boot-server.jar                                                      0.0s
 => exporting to image                                                                                                   0.0s
 => => exporting layers                                                                                                  0.0s
 => => writing image sha256:eebdebddf3f72373b23a1f291609613eb88b237e07dc8d6fbba810decfc3b14d                             0.0s
 => => naming to docker.io/library/ratel-boot-server:v1.0.0                                                              0.0s

镜像运行

本地换或者开发环境 构建镜像

rbt1 和 rbt2 容器都起来来

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker run --name rbt1 -p 20001:20001 --privileged=true --restart=always -idt ratel-boot-server:v1.0.0
6c9ed23572951d9127416802a6f5c484860ca30aa3f7132f22fb1b4b74c55e42
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker run --name rbt2 -p 20002:20001 --privileged=true --restart=always -idt ratel-boot-server:v1.0.0
2a5b430255170b24da51fffc2e9345024de71094abf5d38ba55c3cc753774897
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS                                  PORTS                                                           NAMES
2a5b43025517   ratel-boot-server:v1.0.0        "java -java /ratel-b…"   5 seconds ago    Restarting (1) Less than a second ago                                                                   rbt2
6c9ed2357295   ratel-boot-server:v1.0.0        "java -java /ratel-b…"   15 seconds ago   Restarting (1) 1 second ago                                                                             rbt1
71235a26e5c6   ubuntu:18.04                    "/bin/bash"              10 minutes ago   Up 9 minutes                                                                                            verdant_hirquiticke
23d594db7e77   ubuntu:18.04                    "/bin/bash"              55 minutes ago   Up 44 minutes                                                                                           verdant_grommet
ba4ca0dcfcc8   ubuntu:18.04                    "/bin/bash"              7 hours ago      Up 7 hours                                                                                              zealous_quire
22afff419daf   ubuntu:18.04                    "/bin/bash"              8 hours ago      Up 8 hours                                                                                              baleful_obelus
8d6f4a67a2f5   portainer/portainer-ce:latest   "/portainer"             25 hours ago     Up 8 hours                              8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#

镜像模板提交

提交镜像模板

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker commit rbt1 template/ratel-boot-server:v1.0.0
sha256:a0e438bda894e99e79840b867f3677add07162b1e89ca8d7ec6a1fc1efca7674
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   6 seconds ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#

生成测试环境和生产环境镜像

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker tag ratel-boot-server:v1.0.0 testhabor/testapp:v1.0.0
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker tag ratel-boot-server:v1.0.0 prodhabor/prodapp:v1.0.0

ratel-boot-server v1.0.0 自己构建的

template/ratel-boot-server v1.0.0 提交的模板

testhabor/testapp v1.0.0 测试环境

prodhabor/prodapp v1.0.0 生产环境

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   4 minutes ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
prodhabor/prodapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
testhabor/testapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB

镜像模板 tag_ 推送测试环境 habor

:::color1
docker login 测试环境 habor

docker push testhaborr/ratel-boot-server:v1.0.0

:::

镜像模板 tag_ 推送生产环境 habor

镜像导出

:::color1
docker save -o ratelserver.tar ratel-boot-server:v1.0.0

:::

ratelserver.tar

REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   9 minutes ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
prodhabor/prodapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
testhabor/testapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# ls
Dockerfile  ratel-boot-server.jar  ratelserver.tar  sa_recovery.log
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#


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

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

相关文章

获取微信用户openid

附上开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 开发之前,准备事项 一个已认证过的服务号|基本信息配置js域名和网站授权域名配置最后确认当前账号网页授权功能是否开通,没有开通的无法获取到用户授权开发人…

【WRF工具】WRF 模型评估MET(Model Evaluation Tools)

WRF 模型评估MET(Model Evaluation Tools) METplus 简介WRF 模型评估工具 MET 的安装与使用步骤安装步骤使用步骤 参考 METplus 简介 METplus 是一个增强型的模型评估和验证框架,支持从短期预报(如实时警报)到长期气候…

ARMS 用户体验监控正式发布原生鸿蒙应用 SDK

作者:杨兰馨(楠瑆) 背景 2024 年 10 月 22 日,华为正式发布了原生鸿蒙操作系统(HarmonyOS NEXT)。原生鸿蒙实现了系统底座全部自研,系统的流畅度、性能、安全特性等方面显著提升,也…

云计算HCIP-OpenStack04

书接上回: 云计算HCIP-OpenStack03-CSDN博客 12.Nova计算管理 Nova作为OpenStack的核心服务,最重要的功能就是提供对于计算资源的管理。 计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提…

MyBatis-Plus 实用工具:SqlHelper

SqlHelper 是MyBatis-Plus的一款SQL 辅助工具类,提供了一些常用的方法,简便我们的操作,提高开发效率。文档 最常用的是SqlHelper.table(Obj.class) 返回的 TableInfo 对象通常包含以下常用方法: 1. getTableName() 获取表名。示例…

压力测试Jmeter简介

前提条件:要安装JDK 若不需要了解,请直接定位到左侧目录的安装环节。 1.引言 在现代软件开发中,性能和稳定性是衡量系统质量的重要指标。为了确保应用程序在高负载情况下仍能正常运行,压力测试变得尤为重要。Apache JMeter 是一…

QT6 Socket通讯封装(TCP/UDP)

为大家分享一下最近封装的以太网socket通讯接口 效果演示 如图,界面还没优化,后续更新 废话不多说直接上教程 添加库 如果为qmake项目中,在.pro文件添加 QT network QT core gui QT networkgreaterThan(QT_MAJOR_VERS…

函数指针的作用

函数指针的主要作用,就是用来选择不同的调度函数,来满足特殊需求。它的优点,使程序设计更加灵活。缺点:初学者很难理解函数指针,从而引起程序的可读性不高。 1、使用函数指针选择调度函数 #include "stm32f10x.…

DateRangePickerDialog组件的用法

文章目录 概念介绍使用方法示例代码我们在上一章回中介绍了DatePickerDialog Widget相关的内容,本章回中将介绍DateRangePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的DateRangePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为…

【LeetCode每日一题】——220.存在重复元素 III

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 困难 三【题目编号】 220.存在重复元素 III 四【题目描述】 给你一个…

SQL server学习07-查询数据表中的数据(下)

目录 一,自连接查询 二,多表查询 三,关系代数运算 1,笛卡尔乘积运算 1)交叉连接 2,连接运算 2)内连接 四,外连接 1,左外连接 2,右外连接 3&…

Three.js资源-模型下载网站

在使用 Three.js 进行 3D 开发时,拥有丰富的模型资源库可以大大提升开发效率和作品质量。以下是一些推荐的 Three.js 模型下载网站,它们提供了各种类型的 3D 模型,适合不同项目需求。无论你是需要逼真的建筑模型,还是简单的几何体…

景联文科技入选中国信通院发布的“人工智能数据标注产业图谱”

近日,由中国信息通信研究院、中国人工智能产业发展联盟牵头,联合中国电信集团、沈阳市数据局、保定高新区等70多家单位编制完成并发布《人工智能数据标注产业图谱》。景联文科技作为人工智能产业关键环节的代表企业,入选图谱中技术服务板块。…

WebView2与Chrome内核的区别和使用场景详细介绍

背景 近期有不少朋友使用了HTML一键打包EXE工具中的Webview2(免费)内核,询问的比较多的就是Webview2和Chrome内核的区别, 这里会给大家做一个简单的介绍. WebView2 是由微软提供的一种控件,它允许开发人员在本机应用程序中嵌入 web 技术(如 HTML、CSS …

STM32F407ZGT6-UCOSIII笔记3:任务挂起与恢复实验

本文学习与程序编写基于 正点原子的 STM32F1 UCOS开发手册 编写熟悉一下UCOSIII系统的任务挂起与恢复实验 文章提供测试代码讲解、完整工程下载、测试效果图 目录 任务挂起与恢复目的: 任务挂起的目的 任务恢复的目的 任务函数文件: 任务块头文件 #in…

vue使用pdfh5.js插件,显示pdf文件白屏

pdfh5,展示文件白屏,无报错 实现效果图解决方法(降版本)排查问题过程发现问题查找问题根源1、代码写错了?2、预览文件流的问题?3、pdfh5插件更新了,我的依赖包没更新?4、真相大白 彩蛋 实现效果图 解决方法…

脚本搭建论坛

先创建这个目录: 在这个目录中写多个.sh脚本: 将论坛的压缩包放到/var/www/html目录下: 执行main.sh脚本。 Windows网页网址栏输入192.168.234.112/upload/ (服务器ip地址),就可以安装了。

摩方M600_更换散热

研究了半天。参考了很多贴吧,哔哩哔哩的网友的方案。最后采用如下: 使用 apx90x47 散热器。散热静音效果很好。温度基本不到80度。作为对比 猫头鹰l9i 会到90温度墙。毕竟两个散热功率不一样。前置在 130w,后者65w。不过开始不懂&#xff0c…

【昇腾】NPU ID:物理ID、逻辑ID、芯片映射关系

起因: https://www.hiascend.com/document/detail/zh/Atlas%20200I%20A2/23.0.0/re/npu/npusmi_013.html npu-smi info -l查询所有NPU设备: [naienotebook-npu-bd130045-55bbffd786-lr6t8 DCNN]$ npu-smi info -lTotal Count : 1NPU…

python03-保留字、标识符;变量、常量;数据类型、数据类型之间的转化

一、保留字 VS 标识符 1-1、35个保留字 保留字,严格区分大小写! 查询保留字: 1-2、标识符 常量:python中没有明确的定义常量的关键字,常量的值在程序运行过程中不允许修改! 二、变量 VS 常量 2-1、变量 变…