828华为云征文|华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge

server/2024/9/20 4:30:25/ 标签: 华为云, 服务器, docker

828华为云征文|华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge

  • 前言
  • 一、Flexus云服务器X实例介绍
  • 二、Dockge介绍
    • 2.1 Dockge简介
    • 2.2 Dockge功能
  • 三、本次实践介绍
    • 3.1 本次实践简介
    • 3.2 本次环境规划
  • 四、远程连接华为云Flexus云服务器X实例
    • 4.1 购买Flexus云服务器X实例
    • 4.2 查看Flexus云服务器X实例状态
    • 4.3 使用Xshell远程连接
  • 五、检查Flexus云服务器X实例系统环境
    • 5.1 检查操作系统版本
    • 5.2 检查内核版本
    • 5.3 检查Docker版本
    • 5.4 检查Docker服务状态
    • 5.5 检查Docker compose版本
  • 六、部署Dockge应用
    • 6.1 下载Dockge镜像
    • 6.2 创建部署目录
    • 6.3 编辑docker-compose.yaml文件
    • 6.4 创建Dockge容器
    • 6.5 查看Dockge容器状态
    • 6.6 查看Dockge容器日志
    • 6.7 查看资源使用情况
  • 七、访问前准备工作
    • 7.1 关闭防火墙与selinux
    • 7.2 Flexus云服务器X实例安全组配置
  • 八、访问Dockge服务
    • 8.1 访问Dockge初始页
    • 8.2 创建管理账号
    • 8.3 访问Dockge首页
  • 九、创建compose应用
    • 9.1 创建测试应用
    • 9.2 查看容器组状态
    • 9.3 访问测试Nginx服务
  • 十、管理现有堆栈方法
    • 10.1 停止当前堆栈
    • 10.2 复制docker-compose.yaml文件
    • 10.3 扫描堆栈文件夹
    • 10.4 重新启动容器
  • 十一、使用体验与总结

前言


华为云Flexus云服务器X实例作为新一代面向中小企业和开发者的柔性算力解决方案,凭借其卓越的性能和高性价比,成为了理想的选择。当需要高效管理宿主机上的多个容器及其对应的 docker-compose.yaml 部署文件时,Dockge 以其精美的设计和易用性脱颖而出,成为不可或缺的管理工具。利用华为云Flexus云服务器X实例的强大性能,在openEuler系统上部署Dockge,不仅能够实现对容器应用的精细控制,更能充分发挥平台的高性能优势,为用户提供流畅的操作体验。


一、Flexus云服务器X实例介绍

1.1 Flexus云服务器X实例简介

华为云Flexus云服务器X实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

在这里插入图片描述

1.2 Flexus云服务器X实例特点

  • 提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

  • 可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。

  • 智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

  • 负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus云服务器X实例使用场景

Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:

  1. 电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

  2. 企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

  3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。

  4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、Dockge介绍

2.1 Dockge简介

Dockge 是一款设计精美、易于使用的自托管 Docker Compose.yaml 文件管理器,专注于为用户提供流畅的使用体验。它不仅支持创建、编辑、启动、停止、重启和删除 Compose.yaml 文件,还可以方便地更新 Docker 镜像,并通过交互式编辑器和网页终端增强操作便利性。Dockge 的一大特色是支持多代理管理,允许用户在一个统一的界面上操作来自不同 Docker 宿主机的多个堆栈。。

2.2 Dockge功能

  • 🧑‍💼 管理 Compose.yaml 文件:支持创建、编辑、启动、停止、重启和删除 Compose.yaml 文件,同时还能更新 Docker 镜像。
  • ⌨️ 交互式 Compose.yaml 编辑器:提供直观的编辑体验,方便用户调整配置。
  • 🦦 交互式网页终端:无需离开浏览器即可执行命令行操作。
  • 🕷️ 多代理支持(1.4.0新版特性):允许用户在一个统一的界面中管理来自不同 Docker 主机的多个堆栈。
  • 🏪 docker run ... 命令转换为 Compose.yaml:简化从单一容器到多容器编排的过渡。
  • 📙 基于文件的结构:Dockge 不会干扰您的现有文件结构,Compose.yaml 文件将继续以常规方式存储在本地,支持使用标准的 docker compose 命令进行交互。
  • 🚄 响应式设计:所有操作都具有实时反馈,包括进度指示和终端输出。
  • 🐣 精美且易于使用的界面:继承了 Uptime Kuma 的设计哲学,为用户带来流畅且直观的操作体验。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为openEuler 22.03 LTS;
3.本次实践在Docker环境下部署Docker Compose管理工具Dockge。

3.2 本次环境规划

服务器类别公共镜像选择内网IP地址Docker版本操作系统版本
华为云Flexus云服务器X实例openEuler192.168.0.16926.1.3openEuler 22.03 LTS

四、远程连接华为云Flexus云服务器X实例

4.1 购买Flexus云服务器X实例

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。

在这里插入图片描述
在这里插入图片描述

  • 可参考以下基础配置,进行购买:

1.计费模式:包年/包月,这里选择此模式;
2.区域:华北—北京四,可用区:随机即可;
3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;
4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);
5.应用加速:这里选择不加速;
6.存储:系统盘,通用型SSD100G;
7.网络:选择默认即可;
8.安全组:选择默认即可;
9.弹性公网IP:选择“现在购买”,全动态BGP,带宽3Mbit/s;
10.云服务器名称:可自定义设置,这里选择默认的名称;
11.登录凭证:自定义设置密码;
12.云备份:暂不购买;
其余配置默认即可。

  • 确认配置及购买

在确认配置页面,检查Flexus云服务器X实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云Flexus云服务器X实例购买成功。

在这里插入图片描述

4.2 查看Flexus云服务器X实例状态

进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。

在这里插入图片描述

4.3 使用Xshell远程连接

  • 复制Flexus云服务器X实例的弹性公网IP地址

在这里插入图片描述

  • 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。

在这里插入图片描述

在这里插入图片描述

五、检查Flexus云服务器X实例系统环境

5.1 检查操作系统版本

检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64

[root@flexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_64

5.3 检查Docker版本

部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为 26.1.3

[root@flexusx-51a1 ~]# docker -v
Docker version 26.1.3, build b72abbb

5.4 检查Docker服务状态

检查Docker服务状态,确保Docker服务正常。

[root@flexusx-51a1 ~]#  systemctl status dockerdocker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 10018 (dockerd)Tasks: 10Memory: 196.3MCGroup: /system.slice/docker.service└─ 10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

5.5 检查Docker compose版本

检查docker compose版本,当前默认安装版本为v2.27.0`。

[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.27.0

六、部署Dockge应用

6.1 下载Dockge镜像

执行以下命令,拉取Dockge镜像ouislam/dockge:1

[root@flexusx-51a1 ~]# docker pull louislam/dockge:1
1: Pulling from louislam/dockge
360eba32fa65: Pull complete
24f632c8bcc8: Pull complete
79a793b37a27: Pull complete
e03d23b55cf6: Pull complete
e65223f9c481: Pull complete
e3dfbea82362: Pull complete
5e41c98e67b8: Pull complete
706231bbe3a2: Pull complete
d67f67e4298f: Pull complete
e0fcbd0396df: Pull complete
f2dd62fb3870: Pull complete
Digest: sha256:ec889251baff476366783bc4a092aaa08c601f377537a0f30fb922754edcd9b7
Status: Downloaded newer image for louislam/dockge:1
docker.io/louislam/dockge:1

6.2 创建部署目录

  • 创建项目部署目录/data/dockge/
mkdir -p /data/dockge/{data,stacks}  && cd /data/dockge/

dockercomposeyaml_348">6.3 编辑docker-compose.yaml文件

本次使用docker compose方式部署,需要新建及编辑docker-compose.yaml文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。

vim docker-compose.yaml
services:dockge:image: louislam/dockge:1restart: unless-stoppedports:# Host Port : Container Port- 6001:5001volumes:- /var/run/docker.sock:/var/run/docker.sock- /data/dockge/data:/app/data# If you want to use private registries, you need to share the auth file with Dockge:# - /root/.docker/:/root/.docker# Stacks Directory# ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.# ⚠️ 1. FULL path only. No relative path (MUST)# ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)- /data/dockge/stacks:/opt/stacksenvironment:# Tell Dockge where is your stacks directory- DOCKGE_STACKS_DIR=/opt/stacks

6.4 创建Dockge容器

执行以下命令,快速创建Dockge容器。

root@flexusx-51a1 dockge]# docker compose up -d
[+] Running 2/2? Network dockge_default     Created                                                                                                                  0.0s? Container dockge-dockge-1  Started                                                                                                                  0.2s

在这里插入图片描述

6.5 查看Dockge容器状态

检查Dockge容器状态,确保Dockge容器正常启动。

[root@flexusx-51a1 dockge]# docker compose ps
NAME              IMAGE               COMMAND                  SERVICE   CREATED          STATUS                             PORTS
dockge-dockge-1   louislam/dockge:1   "/usr/bin/dumb-init …"   dockge    42 seconds ago   Up 41 seconds (health: starting)   0.0.0.0:6001->5001/tcp, :::6001->5001/tcp

在这里插入图片描述

6.6 查看Dockge容器日志

检查Dockge容器日志,确保Dockge服务正常运行。

[root@flexusx-51a1 dockge]# docker compose logs
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: Welcome to dockge!
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: NODE_ENV: production
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: Server Type: HTTP
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: Data Dir: ./data/
dockge-1  | 2024-09-14T13:50:46Z [DB] WARN: ENOENT: no such file or directory, open 'data/db-config.json'
dockge-1  | 2024-09-14T13:50:46Z [DB] INFO: Database Type: sqlite
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: Connected to the database
dockge-1  | 2024-09-14T13:50:46Z [SERVER] INFO: JWT secret is not found, generate one.
dockge-1  | 2024-09-14T13:50:47Z [SERVER] INFO: Stored JWT secret into database
dockge-1  | 2024-09-14T13:50:47Z [SERVER] INFO: No user, need setup
dockge-1  | 2024-09-14T13:50:47Z [SERVER] INFO: Listening on 5001

在这里插入图片描述

6.7 查看资源使用情况

在检查了Dockge的资源占用情况后,我们发现该容器的实际资源消耗非常低。作为一款 Docker Compose 管理工具,Dockge 不仅高效地节省了系统资源,还极大地简化了容器应用的管理工作。

docker statsdockge-dockge-1

在这里插入图片描述

七、访问前准备工作

7.1 关闭防火墙与selinux

  • 关闭防火墙
 systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

7.2 Flexus云服务器X实例安全组配置

进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行6001端口。

在这里插入图片描述

八、访问Dockge服务

8.1 访问Dockge初始页

浏览器访问地址:http://弹性公网IP地址:6001,将IP替换为自己服务器IP地址。浏览器打开后,进入Dockge账号注册页。

在这里插入图片描述

8.2 创建管理账号

根据如下图所示,可自定义创建管理账号。

在这里插入图片描述

8.3 访问Dockge首页

创建管理员账号完毕后,自动跳转到Dockge首页。

在这里插入图片描述

九、创建compose应用

9.1 创建测试应用

创建Nginx的宿主机挂载目录/data/nginx/html,编辑网页测试内容。

mkdir -p /data/nginx/html
echo "hello" > /data/nginx/html/index.html

在Dockge页面中,点击“+Compose”选项,进入容器部署页面。

在这里插入图片描述

填写本次堆栈名称,编辑docker-compose.yaml文件,内容如下所示:

在这里插入图片描述

version: '3'services:nginx-web:image: nginx:latestports:- "6002:80"volumes:- /data/nginx/html:/usr/share/nginx/htmlrestart: always

点击“部署”选项,开始创建该堆栈。

在这里插入图片描述

9.2 查看容器组状态

在 Dockge 的主页上,选择刚刚创建的 “myweb” 堆栈,可以看到该容器组正在正常运行。

在这里插入图片描述

9.3 访问测试Nginx服务

进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行6002端口。

在这里插入图片描述

浏览器访问地址:http://弹性公网IP地址:6002,将IP替换为自己服务器IP地址。浏览器打开后,可以看到Nginx网站内容。

在这里插入图片描述

十、管理现有堆栈方法

10.1 停止当前堆栈

查看当前宿主机上的所有运行容器,可以看到之前部署的servas 自托管书签工具。

[root@flexusx-51a1 stacks]# docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED             STATUS                       PORTS   NAMES
52bbf75d3c01   nginx:latest        "/docker-entrypoint.…"   23 minutes ago      Up 23 minutes                0.0.0.0:6002->80/tcp, :::6002->80/tcp   myweb-nginx-web-1
91719adb4884   louislam/dockge:1   "/usr/bin/dumb-init …"   About an hour ago   Up About an hour (healthy)   0.0.0.0:6001->5001/tcp, :::6001->5001/tcp   dockge-dockge-1
0663af7e82d9   beromir/servas      "/docker-entrypoint.…"   2 days ago          Up 2 days                    9000/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp   servas

进入到该应用的部署目录,停止该容器。

docker compose down

在这里插入图片描述

dockercomposeyaml_667">10.2 复制docker-compose.yaml文件

将部署目录下的所有文件复制到/data/dockge/stacks/servas目录,包括docker-compose,yaml文件.env环境变量文件。

cp -a ./ /data/dockge/stacks/servas

10.3 扫描堆栈文件夹

点击右上角的账号图标,选择“扫描堆栈文件夹”。

在这里插入图片描述

10.4 重新启动容器

在Dockge主页,选择刚才扫描到的servas堆栈,点击停止容器后,在重新启动容器即可。

在这里插入图片描述

可以看到容器都正常运行中,可以通过Dockge来管理所有docker compose启动的容器。

在这里插入图片描述

十一、使用体验与总结

通过在华为云Flexus云服务器X实例上部署Dockge,我们不仅充分利用了其作为新一代柔性算力云服务器的强大性能与智能负载感知能力,还借助Dockge精美且易用的界面实现了对Docker容器应用的高效管理。Dockge提供的全生命周期管理功能,包括创建、编辑、启动、停止、重启和删除Docker配置等选项,使得在华为云Flexus云服务器X实例上管理复杂的容器部署变得前所未有的简便。这一组合不仅提升了开发效率,还彰显了华为云Flexus云服务器X实例在满足中小企业与开发者需求方面的卓越表现。


趁着华为云828 B2B企业节的大好时机,探索Flexus X实例带来的超值优惠,体验技术与创新的无缝融合。无论是高性能计算还是智能监控,每一处细节都体现了华为云对卓越品质的不懈追求。加入华为云,这不仅意味着技术上的跃升,更是迈向未来的一大步。让我们共同携手,在云端开辟新的辉煌篇章!


在这里插入图片描述


http://www.ppmy.cn/server/119271.html

相关文章

Python——俄罗斯方块

俄罗斯方块游戏是一款经典的益智游戏,通常使用编程语言Python来实现。下面是一个简单的俄罗斯方块游戏的示例代码: import pygame import random# 定义颜色 BLACK (0, 0, 0) WHITE (255, 255, 255) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0,…

python 实现eulers totient欧拉方程算法

eulers totient欧拉方程算法介绍 欧拉函数(Euler’s Totient Function),通常表示为 𝜑(𝑛),是一个与正整数 𝑛相关的函数,它表示小于或等于 𝑛的正整数中与 &#x1d45…

HX711电子秤模块详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理介绍 三、程序设计 main.c文件 hx711.h文件 hx711.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 HX711是一种高精度、低成本的压力传感器信号放大器,主要用于测量重力或压力变化。…

分享几种方式获取免费精致的Live2d模型

文章目录 1、 Live2D官方示例数据集(可免费下载)2、模之屋3、unity商店4、直接b站搜索5、youtube6、BOOTH完结 1、 Live2D官方示例数据集(可免费下载) 官方提供了一些 Live2D实例模型给大家下载使用 地址:https://ww…

Gartner发布报告揭秘微软数据安全功能和许可

制定数据安全计划以增强合规性并降低数据风险仍然是安全和风险管理领导者关注的问题。这项研究阐明了 Microsoft 的数据安全许可结构,并确定了围绕 Purview 构建数据安全计划的关键要素。 主要发现 客户对微软数据安全的询问表明,安全和风险管理 (SRM) 领…

《拿下奇怪的前端报错》:nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践

有些前端的小伙伴可能会好奇,nvm是什么?这里接简单介绍下,它是一个Nodejs版本管理工具。为什么需要它呢?当然是需要多个Nodejs版本的时候,那什么时候需要多个Nodejs版本?那肯定是在有点年头的公司了&#x…

系统 IO

"裸奔"层次:不带操作系统的编程 APP(应用程序) -------------------------------- Hardware(硬件) 特点:简单,应用程序直接操作硬件(寄存器) 缺点: 1. 搞应用开发的必须要了解硬件的实现细节,能够看懂原理图…

从Apple Intelligence到IoT Intelligence,端侧生成式AI时代加速到来

9月10日凌晨1点,苹果新品发布会如期举行,全新iPhone16系列成为苹果生态中真正意义上的第一款原生AI手机,在第二代3nm工艺A18和A18 Pro芯片的加持下,iPhone16系列能够容纳并快速运行以Apple Intelligence为中心的生成式AI功能在手机…

校验(网络传输)

1. 校验(Checksum) 定义:校验和是一种简单的错误检测机制,通过对数据块中的所有字节进行求和来生成一个固定大小的值。发送方计算校验和并将其附加到数据中,接收方在接收数据后重新计算校验和进行比较。 应用&#xff…

功能测试干了三年,快要废了。。。

8年前刚进入到IT行业,到现在学习软件测试的人越来越多,所以在这我想结合自己的一些看法给大家提一些建议。 最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业,导致软件测试已经饱和了,想要获得更好的待…

BOE(京东方)领先科技赋能体育产业全面向新 以击剑、电竞、健身三大应用场景诠释未来健康运动新生活

巴黎全球体育盛会虽已闭幕,但世界范围内的运动热潮并未消退。9月12日,在北京恒通国际商务园(UBP)的之所ICC,BOE(京东方)开启了以“屏实力 FUN肆热爱”为主题的“科技赋能体育”互动体验活动。活…

MySql-单表以及多表查询详解

今日内容大纲介绍 约束详解 单表约束 多表约束 DQL语句详解 简单查询 条件查询 聚合查询 分组查询 排序查询 模糊查询 分页查询 多表查询 交叉连接 连接查询 子查询 自关联(自连接)查询 扩展: 多表建表 一对多 多对多 一对一 1.主键约束详解 /* 约束详解:概述…

面向对象程序设计

大纲 UML关系 UML类图 设计模式 真题1 真题2 真题3 1

生动好看的css卡片样式

样式一&#xff1a; 借鉴网址&#xff1a;https://www.vue3js.cn/ 展示&#xff1a; css <div classaa></div>.aa {width: 300px;height: 200px;background: #fbfbfb !important;border: 1px solid #f1f1f1;transition: all 0.2s ease-in-out; } .aa:hover {wi…

uniapp中使用picker-view选择时间

picker-view 是 UniApp 中用于展示和选择数据的组件。它适用于创建多列选择器&#xff0c;类似于 iOS 和 Android 系统中的选择器视图。以下是 picker-view 的详细介绍&#xff0c;包括用法、属性和事件。 一 用法 <template><view><picker-view :value"…

撤回仓库的提交

结论先行 未推送提交&#xff1a;可以使用 git reset --soft HEAD~1 或 git reset --hard HEAD~1 来撤回提交&#xff0c;选择保留或丢弃修改。已推送提交&#xff1a;可以使用 git reset --soft HEAD~1 后&#xff0c;通过 git push --force 强制覆盖远程的提交记录。 问题描…

使用Docker挂载部署JAVA项目

用于需要使用Docker容器部署项目&#xff0c;但可能部署包需多次调整的场景&#xff0c;这种部署方式可以减少镜像制作的过程&#xff1b; 推荐几个使用Docker安装环境的文章&#xff1a; 1.Nocas: https://blog.csdn.net/weixin_44700323/article/details/140995859 2.Mysql: …

集合是什么

1.是什么 集合&#xff08;Collection&#xff09;是Java语言中一个非常重要的概念&#xff0c;它是一组对象的容器&#xff0c;用于存储、检索和操作对象。在Java中&#xff0c;集合框架定义了一系列接口和实现类&#xff0c;用于处理不同类型的集合。 集合的概念 集合框架提…

SpringBoot基础实战系列(二)springboot解析json与HttpMessageConverter

SpringBoot解析Json格式数据 ResponseBody 注&#xff1a;该注解表示前端请求后端controller&#xff0c;后端响应请求返回 json 格式数据前端&#xff0c;实质就是将java对象序列化 1.创建Controller 注&#xff1a;springboot默认就已经支持返回json格式数据&#xff0c;只需…

PCL 计算点云距离

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 顾名思义,这个就是计算点云中每个点到另一个点云最近的距离,之后我们可以基于这些距离做一些预处理工作。思路其实很简单,通过对点云构建kdtree并采用并行的方式实现该计算过程。 二、实现代码 ColorRamp.h #ifn…