云原生(二) | Docker 篇之轻松学会原理|架构|安装|加速

Docker与Kubernetes实战指南:从容器化到云原生应用部署 容器技术是现代软件开发和部署的核心,它通过操作系统级别的虚拟化,将应用及其依赖打包成标准化的单元,实现了环境的一致性和应用的快速迁移。其核心原理在于利用Linux内核的命名空间和控制组(cgroups)实现资源隔离与限制,从而在共享宿主机内核的同时,确保每个容器拥有独立的运行环境。这项技术的巨大价值在于彻底解决了“在我机器上能运行”的经典难题,为持续集成/持续部署(CI/CD)和微服务架构提供了天然载体。在应用场景上,容器技术是构建云原生应用、实现DevOps自动化流程的基石。本文聚焦于容器生态中的两大核心 阅读详情

​前言

一文精讲一个知识点,多了你记不住,一句废话都没有

经典语录:人情绪的尽头不是脏话不是发泄,人情绪的尽头是沉默

一、Docker 架构

  • Client: 客户端;操作 docker 服务器的客户端(命令行或者界面)

  • Docker_Host:Docker 主机;安装 Docker 服务的主机

  • Docker_Daemon:后台进程;运行在 Docker 服务器的后台进程

  • Containers:容器;在 Docker 服务器中的容器(一个容器一般是一个应用实例,容器间互相隔离)

  • K8S:CRI(Container Runtime Interface)

  • Images:镜像、映像、程序包;Image 是只读模板,其中包含创建 Docker 容器的说明。容器是由 Image 运行而来,Image 固定不变。

  • Registries:仓库;存储 Docker Image 的地方。官方远程仓库地址: https://hub.docker.com/search

Docker 用 Go 编程语言编写,并利用 Linux 内核的多种功能来交付其功能。 Docker 使用一种称为名称空间的技术来提供容器的隔离工作区。 运行容器时,Docker 会为该容器创建一组名称空间。 这些名称空间提供了一层隔离。 容器的每个方面都在单独的名称空间中运行,并且对其的访问仅限于该名称空间。

容器与虚拟机

二、Docker 隔离原理

  • namespace 6 项隔离 (资源隔离)

  • cgroups 资源限制 (资源限制)

cgroup 提供的主要功能如下:

  • 资源限制:限制任务使用的资源总额,并在超过这个 配额 时发出提示

  • 优先级分配:分配 CPU 时间片数量及磁盘 IO 带宽大小、控制任务运行的优先级

  • 资源统计:统计系统资源使用量,如 CPU 使用时长、内存用量等

  • 任务控制:对任务执行挂起、恢复等操作

cgroup 资源控制系统,每种子系统独立地控制一种资源。功能如下

三、Docker 安装

以下以 centos 为例;

更多其他安装方式,详细参照文档: https://docs.docker.com/engine/install/centos/

1、移除旧版本

sudo yum remove docker*

复制代码

2、设置 docker yum 源 

sudo yum install -y yum-utils

复制代码

使用官方源地址(比较慢)

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

复制代码

可以选择国内的一些源地址:

阿里云

sudo yum-config-manager \    --add-repo \    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

复制代码

清华大学源

sudo yum-config-manager \    --add-repo \    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

复制代码

3、安装最新 docker engine

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

复制代码

4、安装指定版本 docker engine

1、在线安装

#找到所有可用docker版本列表 yum list docker-ce --showduplicates | sort -r# 安装指定版本,用上面的版本号替换<VERSION_STRING> sudo yum install docker-ce-<VERSION_STRING>.x86_64 docker-ce-cli- <VERSION_STRING>.x86_64 containerd.io #例如: #yum install docker-ce-3:20.10.5-3.el7.x86_64 docker-ce-cli-3:20.10.5- 3.el7.x86_64 containerd.io #注意加上 .x86_64 大版本号

复制代码

2、离线安装

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

 rpm -ivh xxx.rpm

可以下载 tar

解压启动即可

https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux

5、启动服务

systemctl start docker systemctl enable docker

复制代码

6、镜像加速

sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{     "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"] }EOF sudo systemctl daemon-reload sudo systemctl restart docker

复制代码

以后 docker 下载直接从阿里云拉取相关镜像

/etc/docker/daemon.json 是 Docker 的核心配置文件。

7、 可视化界面-Portainer

1、什么是 Portainer

https://documentation.portainer.io/

  • Portainer 社区版 2.0 拥有超过 50 万的普通用户,是功能强大的开源工具集,可让您轻松地在 Docker, Swarm,Kubernetes 和 Azure ACI 中构建和管理容器。

  • Portainer 的工作原理是在易于使用的 GUI 后面隐藏使管理容器变得困难的复杂性。通过消除用户使用 CLI,编写 YAML 或理解清单的需求,Portainer 使部署应用程序和解决问题变得如此简单,任何人都可以做到。

  • Portainer 开发团队在这里为您的 Docker 之旅提供帮助。

2、安装

# 服务端部署 docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce# 访问 9000 端口即可 #agent端部署docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent

复制代码

界面显示

Docker+K8s+Jenkins实战:从零搭建CI/CD自动化部署流水线 容器化技术是现代应用部署的核心,它通过将应用及其依赖打包成标准化的容器镜像,解决了环境一致性和可移植性问题。其原理基于操作系统级虚拟化,实现了轻量级、快速启动的隔离环境。这一技术为微服务架构和云原生应用提供了基础支撑,显著提升了开发、测试和部署效率。在工程实践中,容器化常与编排系统结合,实现大规模应用的自动化管理。典型的应用场景包括持续集成/持续部署(CI/CD)流水线、微服务架构部署以及混合云环境应用交付。本文聚焦于Docker容器化、Kubernetes集群部署与Jenkins自动化流水线的整合实践,通 阅读详情

相关推荐

OpenClaw生产级部署指南:Node.js+Docker+免费Coding Plan落地实践

智能体(Agent)框架是当前AI工程化的核心载体,其本质是将大模型能力封装为可调度、可编排的标准化技能单元。OpenClaw作为轻量化、本地优先的开源智能体运行时,依托Node.js实现高并发API编排与前端友好集成,通过Docker达成跨平台环境一致性,并以Coding Plan机制实现模型调用的契约化抽象与解耦。这种设计显著降低智能体开发门槛,支撑从本地验证到云上高可用服务的全生命周期管理。在国产大模型生态快速成熟的背景下,结合阿里云百炼、千问API及Ollama本地部署,可构建零成本启动、安全可控、

hck341204的专栏 422

一、基本概念

云原生 - 目录 第二部分:Docker 实战 一、基本概念1、Docker 架构2、Docker 隔离原理3、Docker安装3.1、移除旧版本3.2、设置docker yum源3.3、安装最新 docker engine4.4、安装指定版本 docker engine4.4.1、在线安装4.4.2、离线安装5、启动服务6、镜像加速7、可视化界面 - Portainer7.1、什么是 Portainer7.2、安装 1、Docker 架构 K8S:CRI(Container Runtime .

个人纪录、总结! 968

从零构建运维监控可视化系统:Prometheus+Grafana实战指南

在IT运维领域,监控是保障系统稳定性的基石。其核心原理在于通过数据采集、存储、分析和可视化,实现对基础设施与应用状态的实时感知与洞察。这项技术的核心价值在于将海量、离散的运维数据转化为可行动的决策信息,从而显著提升故障定位效率、降低平均恢复时间(MTTR)。典型的应用场景包括服务器性能监控、业务链路追踪与容量规划等。本文聚焦于如何利用Prometheus、Grafana等主流开源工具栈,搭建一个集指标采集、存储、可视化与智能告警于一体的综合监控平台,并深入探讨了数据关联分析与可视化看板设计等关键实践,旨在解

weixin_34393428的博客 467

云原生(三) | Docker 篇之轻松学会 Docker 命令

-net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;unless-stopped,在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。启动了 nginx;--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定 CPU 运行;阿里云的镜像是从 docker hub 来的,我们配置了加速,默认是从阿里云(缓存)下载。--volume , -v: 绑定一个卷。

wr_java的博客 246

云原生(二) | Docker篇之轻松学会原理|架构|安装|加速

目录 前言 一、Docker架构 二、Docker隔离原理 三、Docker安装 1、移除旧版本 2、设置docker yum源 3、安装最新docker engine 4、安装指定版本docker engine 1、在线安装 2、离线安装 5、启动服务 6、镜像加速 7、可视化界面-Portainer 1、什么是Portainer 2、安装 前言 一文精讲一个知识点,多了你记不住,一句废话都没有 经典语录:人情绪的尽头不是脏话不是发泄,人情绪的尽头是沉默 ..

Lansonli(蓝深李)的博客 2539

云原生(九) | Devops篇之Jenkins安装与实战

Jenkins,之前叫做Hudson,由SUN公司启动,2010年oracle收购SUN导致hudson商标归oracle保留,hudson的主要贡献者基于hudson更名为jenkins并持续更新。很长一段时间内lenkins和Hudson继续作为两个独立的项目,每个都认为对方是自己的分支。目前Hudson已经停止开发,最新的版本发布于2016年,而Jenkins的社区和开发却异常活跃。Jenkins是目前市场上使用最多的CICD工具...............

Lansonli(蓝深李)的博客 2501

【云原生】Docker的初步认识,安装与基本操作

docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux服务器,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类iphone的app),并且容器开销极其低。

qq_62462797的博客 1177

大数据Doris(三):Doris编译部署篇

这个是官方文档推荐的,可以非常方便顺利的编译源码,如果需要快速部署的,可以使用这种方式。这种方式的优点就是不用配置环境变量,也不用考虑各种版本问题,进入开发镜像系统后直接下载 doris 源码编译即可。将容器中的 maven 下载的包保存到宿主机本地指定的文件中,避免重复下载,同时会将编译的 Doris 文件保存到宿主机本地指定的文件,方便部署。拉取Doris官方提供的Docker镜像,目前可用版本有:build-env、build-env-1.1、build-env-1.2。也可以自行编译压缩包后使用(

Lansonli(蓝深李)的博客 863

从Docker到Kubernetes:容器化部署与集群管理实战指南

容器化技术正在重塑应用交付与运维方式。Docker 通过镜像封装应用及运行环境,解决了单机环境一致性问题;Kubernetes 则进一步实现多机集群的自动部署、弹性伸缩与故障恢复。理解容器、镜像、Pod、Service 等核心概念,是掌握现代 Linux 运维和云原生架构的基础。在实际工程中,无论是部署 MySQL 8.0 还是构建高可用微服务,都需要从单机容器管理走向集群编排。本文以实践为导向,从 Docker 安装、镜像加速、容器数据卷挂载,到 K8S 最小集群搭建、Deployment 与 Servi

weixin_30516429的博客 272

AI应用架构师实战:零样本学习模型的容器化部署流程(附教程)

在AI应用开发中,将先进的机器学习模型有效部署到生产环境是实现业务价值的关键一步。本文聚焦AI应用架构师的实战需求,以零样本学习模型为案例,详细讲解从模型选择、优化到容器化部署的完整流程。零样本学习作为一种能够识别从未见过类别的AI技术,其部署面临独特挑战,而容器化技术则为解决这些挑战提供了理想方案。通过本文,您将学习如何构建一个健壮、可扩展的零样本学习模型部署架构,掌握Docker容器化、Kubernetes编排、模型服务化、监控告警等关键技能,并获得一份可直接落地的实战教程。

AI开发架构师 659

超频玩家必看:TestMem5配置文件详解与内存稳定性测试实战(含黄金参数包)

本文详细解析了TestMem5(TM5)在内存超频稳定性测试中的核心价值与实战应用,特别针对DRAM颗粒特性提供黄金参数配置。通过anta777等专业配置的深度剖析,指导超频玩家精准定位内存故障,优化时序参数,实现性能与稳定性的完美平衡。涵盖从初级验证到极限压测的全流程方案,是硬件发烧友提升系统稳定性的必备指南。

weixin_29198045的博客 1802

Upscayl 免费 AI 图像放大教程:从安装到 4 倍放大的完整流程

Upscayl 是一款免费开源的桌面应用,借助 Real-ESRGAN 模型在本地把低分辨率照片放大并补全细节。照这篇文章操作,你能在 Windows、macOS 或 Linux 上装好它,并完成第一张 4 倍放大图。 ## 🔧 三系统安装速查:一条命令加一块 Vulkan 显卡 这一节解决"装到哪、用什么装、需要什么硬件"。 硬件上只有一个硬性前提:显卡要支持 Vulkan。多数集显和

gitblog_00810的博客 1079

AI大模型实战——模型测评:如何评估大模型的表现

大模型评测体系解析:从数据集到基准测试 本文系统梳理了大模型评测的关键要素。在数据集方面,重点介绍了C-Eval等中文评估套件,强调数据质量需通过人工验证保证。评测维度涵盖自然语言理解、知识推理、代码生成等核心能力。基准测试作为标准化评估方法,Glue、SuperClue等平台提供了公平比较的依据。文章指出厂商自评榜单存在水分问题,建议关注第三方评测。同时解析了少样本和零样本两种prompt模式的应用场景差异。最后解释了"SOTA"这一术语在描述模型最优性能时的应用价值。整体呈现了大模型

小志的博客 895

打造未来2024年最值得掌握的十大开发工具全景解读

2024年的开发工具生态正朝着智能化、一体化和云原生的方向加速演进。上述十大工具覆盖了从编码、构建、部署到监控的全生命周期。成功的关键不在于学会所有工具,而是根据自身的技术栈和发展方向,选择核心工具进行深度学习,并将其融会贯通到日常工作流中,从而真正打造面向未来的核心竞争力。

pyw7612的博客 565

『言善信』Fiddler工具 — 1、Fiddler介绍与安装

文章目录1、Fiddler简介2、Fiddler功能3、Fiddler工作原理4、Fiddler安装 1、Fiddler简介 Fiddler是强大的抓包工具之一,它能记录所有客户端和服务器之间的HTTP和HTTPS请求,是web调试的利器。 Fiddler是位于客户端和服务端之间的HTTP代理,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。 Fiddler可以抓取支持HTTP代理的任意程序的数据包,如果要抓取https会

繁华似锦Fighting 1465

半导体功率器件IGBT工艺全流程

本文概述了功率器件IGBT(绝缘栅双极型晶体管)的关键制造流程。主要工艺包括:基板制备、离子注入(B+/P+/P+FS层)、绝缘膜形成与加工(CVD沉积及刻蚀)、沟槽刻蚀、电极形成(Emitter和Collector)等步骤。通过离子注入、化学气相沉积和物理气相沉积等半导体工艺,依次完成器件各功能层的构建,最终形成具备高功率特性的IGBT器件。该流程体现了功率半导体制造中典型的掺杂、薄膜沉积和图形化工艺技术。

750

Milvus从入门到精通:零基础也能快速掌握的向量数据库全攻略

在大模型、RAG、语义搜索、多模态检索爆火的今天,向量数据库已经成为AI应用的核心基建。而Milvus作为全球最流行的开源向量数据库,凭借轻量、高效、易扩展的特性,成为新手入门和生产落地的首选。这篇博客专为零基础新手打造,从核心概念、环境搭建、基础CRUD,到实战案例、索引优化、生产部署,全程无晦涩术语,代码可直接复制运行,带你一步步从入门到精通Milvus,轻松搞定向量检索场景。一、先搞懂:Milvus是什么?为什么要学它?1.1 核心概念:向量数据库与Milvus。

shou10jin的博客 624

26届数字IC秋招笔试面试全攻略-UVM验证方法学精要

本文介绍了数字IC验证中UVM方法学的核心内容,包括组件架构、Sequence机制和寄存器模型。UVM提供env、agent、driver等组件构建验证环境;Sequence机制通过item、sequence和sequencer实现激励生成与控制;寄存器模型则通过reg_block、reg等组件管理DUT寄存器。文章详细说明了各模块的功能、交互关系和代码实现,为IC验证工程师提供了完整的UVM应用指南,重点突出了验证环境的搭建方法、激励生成流程和寄存器抽象技术。这些内容是数字IC秋招笔试面试中的高频考点。

2301_79143213的博客 725

AI大模型零基础入门:从环境搭建到部署上线的完整实战指南

大语言模型(LLM)作为当前人工智能领域的核心技术,其应用开发遵循一套从数据准备、模型微调到服务部署的标准化工程流程。理解Transformer架构及其注意力机制是掌握其工作原理的基础,而PyTorch和Hugging Face Transformers库则构成了实践中的核心工具链。对于开发者而言,掌握高效微调技术(如LoRA)和模型量化方法,能够显著降低资源门槛,使大模型在消费级硬件上运行成为可能。这些技术的核心价值在于将前沿的AI能力工程化、产品化,广泛应用于智能问答、内容生成、代码辅助等场景。本文以实

weixin_34009794的博客 680

Vue - 最新详细实现滑块拖动拼图验证,网站登录验证滑块验证功能,拖动滑块到图片缺口的位置即为成功,滑块验证安全检测(详细示例代码,一键复制运行)

您一定见过很多系统都“配备”了滑块验证、拼图验证、找不同等,本质上都是为了验证登录系统的是人还是机器(代码),如下图所示效果: 您打开项目根目录,终端执行如下命令:拼图式拖动滑块验证 验证拖动滑块验证,滑动拼图/图片点选验证 接下来,在中加入以下代码: 如下图所示: 更多配置示例和参数详见官方文档,以下便是如上效果图的代码:.........

🏆 前端领域优质创作者 1万+

微调实操一: 增量预训练(Pretraining)

《微调入门篇:大模型微调的理论学习》我们对大模型微调理论有了基本了解,这篇结合我们现实中常见的场景,进行大模型微调实操部分的了解和学习,之前我有写过类似的文章《实践篇:大模型微调增量预训练实践(二)》利用的MedicalGPT的源码在colab进行操作, 由于MedicalGPT代码比较难以理解,而且模型只能从hugging face上下载,对于一些国内服务器无法访问,我重构了代码,让训练代码更有可读性,并参考LLAMAFactory的项目,增加了modelscope上下载模型,轻松在国内服务器运行.

youbingchen的博客 6992

2026计算机专业学习指南:AI时代下的四年规划与核心竞争力构建

计算机科学作为现代信息技术的基石,其核心在于通过算法、数据结构与系统架构解决复杂问题。其原理建立在计算理论与工程实践的结合之上,旨在提升效率、实现自动化并驱动创新。在技术价值层面,它不仅是互联网、人工智能等前沿领域的引擎,更是数字化转型的关键支撑。当前,随着技术栈快速迭代与AI工具的普及,行业对人才的需求从基础编码转向系统设计与工程实践能力。在此背景下,计算机专业学生需掌握云原生、微服务等主流技术栈,并通过项目实践构建扎实的工程能力。同时,面对AI编程助手带来的效率革命,学习者应聚焦如何利用AI赋能,而非被

weixin_33834137的博客 518

在轻量化与精度之间取得平衡:YOLOv8 + GhostNet 的设计与实验分析

摘要: GhostNet系列(GhostNet、GhostNetv2、GhostNeXt)通过“幽灵特征图”技术,以极低计算量生成丰富特征,为YOLOv8提供轻量化改造方案。该技术能在减少参数量与计算量的同时保持或提升检测精度,适用于边缘设备部署。实现时需替换YOLOv8的Backbone为GhostNet模块,并通过消融实验验证其有效性。实验数据表明,改造后的模型在参数量降低30%的同时,推理速度提升28.6%,mAP@0.5最高提升1.9个百分点,平衡了轻量化与精度,为毕设提供技术创新性与工程落地性的双

m0_64661770的博客 194

从浅水区到深水区:技术人的认知跃迁与实战生存指南

在软件工程与系统架构领域,从熟悉的技术栈转向微服务、云原生等复杂架构,常被比喻为从‘浅水区’跳入‘深水区’。这一过程涉及分布式系统、容器化、服务治理等核心概念,其原理在于通过解耦与弹性设计来提升系统的可扩展性与可维护性。掌握这些技术不仅能构建应对高并发、高可用的系统,更能形成个人的技术护城河与不可替代性。在实际应用场景中,无论是构建数据中台还是实施大规模服务化改造,都会面临信息模糊、技能缺口和决策风险等挑战。本文以‘跳进深水区’为隐喻,系统探讨了如何通过心理建设、技能侦察、浸泡式学习等策略,安全完成这次技术

weixin_30693683的博客 397

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

多模型数据库实战指南:从原理到选型与性能优化

在数据架构设计中,数据模型的选择直接影响系统性能和开发效率。传统单一模型数据库(如关系型、文档型、图数据库)在处理混合业务场景时,常面临架构复杂、数据冗余和跨库查询性能瓶颈等问题。多模型数据库(Multi-model Database)从底层存储引擎原生支持多种数据模型(文档、键值、图、关系表等),允许同一份数据以不同形态被访问,从而在保证数据一致性的同时简化技术栈。其核心价值在于通过统一的数据平台应对业务模型的频繁变化,降低运维成本,并优化复杂关联查询。例如,在处理社交网络关系(图模型)与用户属性(文档模

weixin_34023982的博客 378

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

程序员思维跃迁:从工具使用者到技术架构师

在软件工程中,‘编程语言’和‘数据库’并非孤立工具,而是对计算资源与数据语义的抽象契约。理解这一本质,是突破单栈思维牢笼的关键——当业务需求变化(如边缘部署、实时协作、离线同步),真正决定系统成败的,不是语法熟练度,而是能否识别‘计算模型-数据模型-部署模型’三者的匹配关系。例如,IoT时序数据天然适配InfluxDB的时间索引语义,而CRDT算法与DynamoDB的LWW冲突解决机制,则共同支撑了分布式白板的最终一致性。这种跨栈抽象能力,使工程师能跳出‘Java/MySQL=标准答案’的认知惯性,在约束驱

chuji3953的博客 468

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 云原生(一) | 介绍篇之大数据需要拥抱云原生吗?云原生为什么这么火?
下一篇: 云原生(三) | Docker 篇之轻松学会 Docker 命令
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值