Nacos目录挂载并实现持久化

docker安装nacos并开启持久化 首先确保已经安装docker安装之前你需要准备一个mysql,当前安装方式是将数据持久化到数据库中的,这里的部署是单机模式。 阅读详情

目录挂在

docker pull ndocker pull nacos/nacos-server:v2.0.4 acos/nacos-server:v2.0.4

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone --restart=always -p 8848:8848 nacos/nacos-server:1.4.2

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8848:8848 nacos/nacos-server:1.4.1

docker exec -it nacos /bin/bash

docker cp nacos:/home/nacos /docker/nacos

docker cp nacos:/home/nacos/logs /docker/nacos-2.0.4/logs

docker cp nacos:/home/nacos/conf /docker/nacos-2.0.4/conf

docker cp nacos:/home/nacos/data /docker/nacos-2.0.4/data

docker cp nacos:/home/nacos/logs /docker/nacos/nacos-1.4.1/logs

docker cp nacos:/home/nacos/conf /docker/nacos/nacos-1.4.1/conf

docker cp nacos:/home/nacos/data /docker/nacos/nacos-1.4.1/data

docker rm -f nacos

docker rm -f nacos:v2.0.4

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone --restart=always -p 8848:8848 -v /docker/nacos:/home/nacos nacos/nacos-server:1.4.2

docker run -d --name nacos-2.0.4 -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8849:8849 -v /docker/nacos/nacos-2.0.4/logs:/home/nacos/logs -v /docker/nacos/nacos-2.0.4/conf:/home/nacos/conf -v /docker/nacos/nacos-2.0.4/data:/home/nacos/data nacos/nacos-server:v2.0.4

docker run -d --name nacos-1.4.1 -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8848:8848 -v /docker/nacos/nacos-1.4.1/logs:/home/nacos/logs -v /docker/nacos/nacos-1.4.1/conf:/home/nacos/conf -v /docker/nacos/nacos-1.4.1/data:/home/nacos/data nacos/nacos-server:1.4.1

持久化

首先,导入nacos数据库

其次,设置nacos数据库允许远程访问

然后,修改application.properties配置文件,添加mysql配置

最后,重启nacos,并访问,添加配置测试

# 配置替换

# spring

server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}

server.contextPath=/nacos

server.port=${NACOS_APPLICATION_PORT:8848}

spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:"mysql"}

nacos.cmdb.dumpTaskInterval=3600

nacos.cmdb.eventTaskInterval=10

nacos.cmdb.labelTaskInterval=300

nacos.cmdb.loadDataAtStart=false

db.num=${MYSQL_DATABASE_NUM:1}

db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:192.168.56.10}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&useUnicode=true&connectTimeout=6000&socketTimeout=6000&autoReconnect=true&useSSL=false}

db.user=${MYSQL_SERVICE_USER:root}

db.password=${MYSQL_SERVICE_PASSWORD:479368}

### The auth system to use, currently only 'nacos' is supported:

nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}

### The token expiration in seconds:

nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}

### The default token:

nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}

### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.

nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}

nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}

nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}

nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}

server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}

server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D

# default current work dir

server.tomcat.basedir=

## spring security config

### turn off security

nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}

# metrics for elastic search

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false

nacos.naming.distro.taskDispatchThreadCount=10

nacos.naming.distro.taskDispatchPeriod=200

nacos.naming.distro.batchSyncKeyCount=1000

nacos.naming.distro.initDataRatio=0.9

nacos.naming.distro.syncRetryDelay=5000

nacos.naming.data.warmup=true

Docker部署Nacos,并挂载存储,日志,配置文件 docker部署nacos,并挂载logs,data,conf目录,并配置连接数据库类型,密码,用户名等启动镜像参数。 阅读详情

相关推荐

Docker安装Nacos

docker安装Nacos

weixin_43792363的博客 502

在 Docker 中部署 Nacos 并挂载配置文件

需要注意的是,Nacos 的配置文件可以根据实际需求进行自定义,可以参考 Nacos 官方文档进行配置。在这个示例中,我们指定了 Nacos 的端口、开启了所有的管理端点、使用了 MySQL 数据库作为存储后端,并指定了数据库的连接信息。首先,在主机上创建一个目录,用于存放 Nacos 的配置文件。的文件,用于修改 Nacos 的配置。使用以下命令启动一个名为 nacos 的 Nacos 容器,并将主机的。将容器的 8848 端口映射到主机的 8848 端口。的目录,用于存放 Nacos 的配置文件。

程序员朱永胜 4870

Docker部署Nacos单机版:从零到持久化的完整避坑指南

本文详细介绍了如何使用Docker部署Nacos单机版并实现持久化,涵盖环境准备、MySQL初始化、配置迁移及常见问题解决方案。通过Docker容器化部署,确保环境一致性,特别适合微服务架构下的服务发现与配置管理需求。

weixin_29218509的博客 335

21 Nacos客户端本地缓存及故障转移

nacos本地缓存以及故障转移

weixin_39563769的博客 2862

ubentu20.02docker镜像安装nacos2.1.1并配置数据库、nacos鉴权

7、对于nacos2.1.1这个版本需要在外部配置中加入nacos-logback.xml,不然启动报错。nacos官方地址:https://nacos.io/download/nacos-server/github地址:https://github.com/alibaba/nacos。上述步骤2中,已经启动了nacos容器,我们把容器中的配置文件拷贝出来即可。2.把nacos容器中的/home/nacos/conf文件夹拷贝。http://IP地址:8848/nacos。1.新建目录并挂载nacos。

is_light的博客 556

nacos宿主机文件挂载

nacos宿主机文件挂载,可直接解压使用

Docker 部署nacos 并且挂载本地目录

本文介绍了使用Docker部署Nacos 2.3.0单机版的完整流程:1)拉取官方镜像;2)创建挂载目录;3)启动临时容器;4)复制配置文件到宿主机;5)修改application.properties配置数据库、认证参数等关键信息;6)正式启动容器并映射端口和目录;7)检查日志确认启动成功。重点说明了通过容器复制初始配置文件的方法,以及配置文件中需要修改的数据库连接、认证密钥等核心参数。最后提供了完整的docker run命令,包含端口映射、目录挂载和环境变量设置。

m0_46456778的博客 641

详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程

1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。

GISWorld3D的博客 4375

docker 安装 nacos 与配置持久化详解

在平常的开发工作中,我们经常会用到 nacos,nacos 主要是服务注册与发现,配置管理等。服务启动时可以将自身服务的信息注册到 nacos,方便其他服务发现。可以将一些常用的配置放到配置管理中,这样修改更加的方便。那么在 docker 下如何安装nacos呢?naocs 配置的持久化又该如何实现呢?今天简单总结下主要步骤。

qq_36833673的博客 2555

为什么需要知识图谱?什么是知识图谱?——KG的前世今生

我的知乎专栏,对知识图谱感兴趣的朋友可以关注。标题的命名顺序可能让有的读者不太习惯。通常在介绍一个陌生事物的应用前,我们先给出其定义。之所以换个顺序,是为了不让读者一开始就接触比较冰冷生硬的概念刻板描述(后面我尽量用更具体、准确的例子来表达),另一方面也是为了通过现实生活中的例子自然的引入知识图谱的概念。希望通过这种方式加深读者的印象和理解。为了减轻读者理解的负担,我尽可能地避免引入过多的概念和技术

SimmerChan的专栏 8万+

【UE5+Quest3】手部模型替换---3-0

这次手部模型替换遇到了一些小问题,不过好在是bug一个个都处理掉了,我会分开几个章节去整理。详细的视频教程可以参考油管大佬的视频手部素材放到文章末尾,自行下载使用。(仅用作学习研究,不可用于商用)

qbbmnnnnnn的博客 944

Nacos 服务部署指南:基于 Docker 的单机模式安装与配置

本文详细介绍了使用Docker部署Nacos服务并配置MySQL持久化的完整流程。主要内容包括:拉取指定版本Nacos镜像、创建持久化目录、初始化配置文件、创建MySQL数据库及表结构,以及通过docker run命令启动Nacos容器并连接MySQL。文中提供了关键参数说明、安全建议和常见问题排查方法,特别强调了单机模式下部署的注意事项。该方案支持配置、日志和数据的持久化存储,适合开发测试环境使用,同时为生产环境部署提供了优化建议,如使用Docker Compose管理、启用HTTPS等。

lfeishumomol的博客 1573

华为OD机试真题 新系统 9月20号 【字符串分组求和】

华为OD新系统机试真题【字符串分组求和】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【字符串分组求和】解析。

qq_45776114的博客 603

Docker实战:Nacos持久化部署与关键目录挂载全解析

本文详细解析了使用Docker进行Nacos持久化部署的关键步骤,包括目录挂载、环境准备、镜像获取和数据库配置。通过实战操作指南,帮助开发者避免数据丢失风险,确保Nacos作为服务发现和配置中心的稳定运行。特别强调了挂载目录的重要性和生产环境优化建议。

weixin_33695450的博客 613

2020.12.25丨CRISPResso2安装教程

一个月前接到一个项目,说是做关于CRISPR的编辑效率个性化分析。本来这个分析以前是没有做过的,不过客户发了参考文献。里面流程和命令行都非常清楚,再加上读研期间CRISPR的项目“中道崩殂”,让我对CRiSPR的技术有些执念,便下决心接下来试试。 整个测序分析使用的工具就是CRISPResso,,下面介绍最快捷的安装方式。 首先,CRISPResso只支持python2.X,不支持3.X你需要下载Anaconda或者miniconda,以Miniconda为例: 安装环境: Linux 64-bi

4631

YOLOv8 PCB缺陷检测系统全流程实战:从开发到UI展示详解

毕设路上难免有波折,但只要跟着这个教程把“数据集处理、模型训练、UI开发”每一步都落实,你就已经超越了大多数同学。这个“PCB缺陷检测系统”既有技术深度(YOLOv8是工业级主流算法),又有工程价值(解决电子制造的实际痛点),还具备出色的可视化展示——这样的毕设,拿高分是水到渠成的事。

FJN110的博客 214

Docker启动安装nacos(详情讲解,全网最细)

安装之前你需要准备一个mysql,当前安装方式是将数据持久化到数据库中的,这里的部署是单机模式。

2509_94087843的博客 1165

【问题解决】Python 异步 asyncio 卡死、协程不执行、任务泄漏,保姆级排错

本文详细分析了Python异步编程中常见的卡死、协程不执行和任务泄漏问题。文章首先列举了这些问题的典型表现,如程序卡住、死锁、任务未启动等。然后深入剖析了各类问题的根源,包括同步阻塞操作、未正确await、资源未清理等。针对这些问题,文章提供了两套解决方案:一是异步编程最佳实践,包括安全协程执行、带超时的执行、任务清理等实用方法;二是死锁检测和预防机制,通过锁管理和等待图分析来避免死锁。文章还包含可直接使用的代码示例,帮助开发者快速定位和解决异步编程中的常见问题。

博客 448

docker安装nacos

【代码】docker安装nacos。

sorce201的博客 244

基于HetConv与Dual策略的YOLOv8轻量化设计-CSPHet结构的优化与实现

在计算机视觉中,YOLOv8作为目标检测领域的最新版本,通过引入多种改进来提升检测精度和速度。然而,提升精度和保持实时性能往往需要更多参数与计算量。本文提出一种结合Dual思想与HetConv的新型轻量化结构,称为CSPHet。CSPHet能够在保持YOLOv8检测精度的基础上有效减少约70万参数量,实现模型的轻量化和速度的提升。HetConv(Heterogeneous Convolution)是一种混合卷积技术,通过同时使用1x1、3x3等不同大小的卷积核,来捕捉不同尺度的特征。

博客 1323

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Docker】安装 Nacos

Docker 安装 Nacos

apple_csdn的博客 718

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

基于Docker安装部署Nacos:2.0.0

基于Docker安装部署Nacos:2.0.0。

weixin_39394450的博客 539

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: docker中sentinel的配置
下一篇: Centos7配置JDK
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值