ISO镜像转换成docker镜像

RK3588零拷贝视频流水线实战:用GStreamer+Mpp实现8K硬解与DRM显示 本文深入探讨了在RK3588平台上构建零拷贝视频流水线的工程实践。通过结合GStreamer与MPP,实现了从8K视频硬解到DRM显示的全流程硬件加速,有效解决了高分辨率视频处理中的DDR带宽瓶颈问题。文章详细解析了dma-buf数据流机制、管道构建与性能优化策略,为多路视频并发处理提供了高效的系统架构解决方案。 阅读详情

最近开始研究docker,如果想要自己创建个镜像,必须从Docker Hub上面获取一个基础镜像来创建;对于我们公司是定制的ISO,我就在想有没有办法把ISO转换成Docker格式,然后上传到Docker Hub上作为基础镜像使用。

参考文章:http://www.aboutdebian.com/tar-backup.htm

0x01  准备阶段

首先,在一台虚拟机中安装好需要转换的ISO镜像,本文以CentOS 7.1为例;

其次,进入装好的系统,到根目录下面我们可以看到如下文件夹

 

其中/proc、/sys、/run、/dev这几个目录都是系统启动时自动生成的,虽然也属于文件系统一部分,但是他们每次开机都会有变化,所以打包的时候就应该忽略它们。

0x02 打包系统

按照上面参考文章操作也可以,或者直接运行下面命令
 

$ cd /
$ tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot  .

命令运行完成后再/tmp目录生成了一个system.tar文件,如果tar文件太大的话,也可以继续压缩成tar.gz格式。

就可以把打包好的文件导入到docker了。

0x03  导入docker

tar文件导入到docker方法很多,下面两种办法测试了都可以:

方式一:

$ cat system.tar | docker import - centos:v7.5

方式二:

$ docker import system.tar centos:v7.5

导入成功后,查看镜像:

$ docker images

导入成功后,接下去就可以运行容器了

docker run -d --privileged -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /home:/home --name {container_name} centos:v7.5 /usr/sbin/init

进入容器

docker exec -ti {container_name} /bin/bash

镜像做好之后就可以push到docker hub上了,不过我发现做好的镜像还是挺大的有1.4G,这样push的时候就会很慢很慢。

深入解析Buck开关电源中的死区时间设计及其对系统性能的影响 本文深入解析了Buck开关电源中死区时间的设计原理及其对系统性能的关键影响。死区时间通过防止上下管同时导通来避免穿通电流,确保系统安全。文章详细探讨了其工作机制、设置时的效率与安全权衡,以及不当设置对效率、稳定性和EMI的连锁反应,并提供了基于实测的调试方法与实战案例。 阅读详情

相关推荐

Waymo数据集里的隐藏彩蛋:5个激光雷达数据融合实战(附Python代码)

本文深入解析Waymo数据集中5个激光雷达的数据融合技术,提供Python实战代码,帮助开发者掌握多传感器协同工作的关键方法。通过时间同步、坐标转换和运动补偿等技术,实现高精度3D场景重建,提升自动驾驶系统的环境感知能力。

weixin_30399821的博客 82

自定义iso镜像转换为docker镜像

1.第一步先在虚拟机安装好自己的iso镜像 2.使用tar -zcvf /home/ddm.tar.gz bin boot dev etc home lib lib64 opt root sbin srv sys tmp usr var 打包出一个镜像的 tar 包

wumingxiaozei的博客 1865

小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘

小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装[可道云](http://kodcloud.com/)(Kodexplorer)私有网盘。

engchina的专栏 1万+

在Docker中使用Dockerfile实现ISO文件转化为完整版Centos镜像,并搭建集群数据仓库

在Docker中使用Dockerfile实现ISO文件转化为完整版Centos镜像,并搭建集群数据仓库

qq_40282331的博客 3516

FCN---训练cityspaces

未经允许,不要随意转载! 最近想试试用FCN训练自己的数据集,想想标注是一件很费劲的事,于是就想到了用其他库里的数据,这里选用了cityspaces,默认已经配置好FCN. 1、下载cityspaces https://www.cityscapes-dataset.com/ 需要注册一个账号 cityspaces包含2...

wangyu088的专栏 2033

图文并茂把Ubuntu22.04安装到u盘,实现即插即用

1、刚好打算把Ubuntu安装到u盘,随便记录下整个过程。 2、前提准备:u盘(我的是16g大小),Vmware虚拟机,Ubuntu镜像文件(可以去官网下载); 3、下面记录全过程: 1、打开虚拟机,并选择创建新的虚拟机: 2、选典型: ​ ...

子非鱼 1万+

将ISO文件打包成docker镜像

从网上pull的镜像极其简单,很多命令没有。要使用命令,首先需要配置yum源。这里有一个问题,我的虚拟机无法删除/etc/yum.repos.d下面的文件,导致新的yum源无法配置进去,docker容器相当于没啥用。 到网上找了很久,发现有一个将本机的系统打包成docker镜像的方法,这里试一试,看能不能行。 首先找一个已经配置好yum源的纯净的centos7系统,然后: 1,cd / tar -cf system.tar bin dev lib64 media opt root snap v...

fenglei2020的博客 2596

STM32硬件SPI驱动ADS1255/1256避坑指南:从Cube MX配置到稳定采样实战

本文详细解析了使用STM32硬件SPI驱动高精度ADC芯片ADS1255/1256的完整流程与关键陷阱。重点阐述了Cube MX中SPI模式(必须为CPOL=1, CPHA=1)、数据帧格式(MSB First)及波特率(建议从256kHz起)的正确配置,并提供了分步读写时序的代码实现与逻辑分析仪调试方法,帮助开发者避开常见坑点,实现稳定可靠的高精度数据采样。

weixin_29193259的博客 361

如何从ISO镜像直接制作Docker容器基础镜像

在deepseek的样例灵感下,实践了下直接从ISO镜像制作出docker基础镜像,对于deepseek的基础上样例存在部分增删,觉得还是记录下来为好

一把菜刀行江湖 1250

【Unity】Unity 跨平台及编译过程

早期的Unity跨平台是基于MONO运行时的,又通过CLS实现了跨语言。其基本思路是将各个版本的语言统一编译成CIL语言,在不同平台运行时使用CLR进行解释。有点类似于Java的jdk和jvm。 CLS(Common Language System)通用语言规范:CLS是一种规范,类似于schema,当文件被指定遵守CLS规范后,在某语言中写出不符合通用规范的代码后将被警告或报错。 MONO是一个开源工程,其中包含C#编译器,CLR运行时,以及一组类库。该工程常见了一系列符合ECMA标准的.NET工具,MO

一个普普通通的游戏开发者 7237

OS实验xv6 6.S081 开坑

OS实验xv6 6.S081 开坑 终于把xv6 2019 6.S081做完了,网络部分没有写,因为有计网实验了。怎么说呢,xv6的坑有点多,能做完多亏了:和我同学ljj交流,参考RedemptionC老哥的博客(他写的非常详细,遗憾的是,他好像没有写mmap),再者就是参考这位老哥的做法(没有源码,写得不是特别详细,不过有借鉴作用,mmap就是借鉴了他的思想)……废话不多说了,直接开始。 实验指导 首推RedemptionC的博客 这位老哥的个人博客 xv6 6.S081官网(后面的实验都要参考官网

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 4493

如何把ISO镜像转换成Docker镜像

前言 最近开始研究docker,如果想要自己创建个镜像,必须从Docker Hub上面获取一个基础镜像来创建;对于于没有基础镜像的,我就在想有没有办法把ISO转换成Docker格式,然后上传到Docker Hub上作为基础镜像使用。 1.准备阶段 首先,在一台虚拟机中安装好需要转换的ISO镜像,本文以CentOS 7.1为例; 其次,进入装好的系统,到根目录下面我们可以看到如下文件夹 其中/proc、/sys、/run、/dev这几个目录都是系统启动时自动生成的,虽然也属于文件系统一部分,但是他们每次开机

weixin_44615267的博客 3044

【数据集介绍】MVTec 3D AD数据集介绍

MVTec AD(MVTec Anomaly Detection)数据集是用于异常检测的计算机视觉数据集。该数据集包含来自工业生产中不同材料和产品的图像,包括玻璃、塑料、纺织品等。每个类别都包含正常样本和异常样本。这些异常样本包括各种常见的生产缺陷,如划痕、裂纹、凹陷等。MVTec AD数据集旨在帮助研究人员和从业者开发和评估用于检测工业制造中物体缺陷的算法和系统。

原来也有北瓜 7753

ISO镜像转换成Docker镜像

介绍 [root@localhost /]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhost /]# uname -r 3.10.0-862.el7.x86_64 1、准备阶段 首先,在一台虚拟机中安装好需要转换的ISO镜像,本文以CentOS 7.6为例; [root@localhos...

lxy___的博客 4291

深度学习工具包 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")

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

docker自定义镜像-ISO镜像转为docker images

前言      前段时间听朋友说现在流行docker容器,所以最近研究了一下,docker安装都比较简单,但是发现官方提供的images不尽如人意,功能太少了。就想能否把自己安装好的系统转换成docker镜像。 参考文章https://www.cnblogs.com/-beyond/p/9259923.html 参考文章https://www.jianshu...

old boy的博客 2104

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Docker容器和镜像的区别

目录 一、什么是镜像? 1.1 Image Layer(镜像层) 1.2 Image(镜像,只读层的集合) 二、什么是容器? 2.1 Container(容器,一层读写层+多层只读层) 2.2 Running Container(运行态容器,一层读写层+多层只读层+隔离的进程空间和包含其中的进程) 三、总结 在学习使用docker过程中会遇到镜像和容器,两者之间的区别是什么?有什么关联?本文将用图文并茂的方式介绍容器、镜像的区别,能够很好的帮助各位深入理解Docker。          

MyySophia的博客 1989

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

docker 容器保存为镜像_【深度】Docker 容器镜像是怎样炼成的?

Docker 包括三个基本概念:镜像、容器、仓库。理解了这三个概念,就理解了 Docker 的整个生命周期。今天 K8sMeetup 社区给大家带来的是社区特邀作者木子的一篇深度技术文,主要介绍容器镜像的系统知识。作者:木子(才云)编辑:Bach(才云)校对:bot(才云)上周我看了很多关于容器镜像相关的博客,从大佬们那里偷偷学了不少知识,对容器镜像也有了一点点深入的了解。趁着这周末宅在...

weixin_39541681的博客 509

一种docker基础镜像制作方法

一种docker基础镜像制作方法

老胡的笔记 8092

云镜像,虚拟机镜像怎么转换成容器镜像

本文介绍了云镜像与容器镜像的区别及格式转换方法。云镜像(如QCOW2、RAW等)用于虚拟化环境,而容器镜像(OCI格式)用于容器部署。由于格式不兼容,需通过工具将系统镜像转换为容器镜像。具体步骤包括:使用guestfish工具提取系统镜像文件,创建Dockerfile构建容器镜像,最后导入到容器运行时(如containerd)。该方法可实现不同格式镜像的转换,便于在容器环境中使用系统镜像。

平庸 698

从镜像开始搭建Web-docker靶场

文章目录下载镜像并安装安装网站环境出题CMS介绍和比较 下载镜像并安装   搜索“ubuntu镜像官方”,找到网站http://releases.ubuntu.com/releases/。 在发布版本中可以看到,Ubuntu/v12.0.4最近一次修改是在2019年3月。   Ubuntu的发行,一年分别在4月和10月发布版本,比如12.04表示2012年4月发布,12.10版本则是在2012年10月发布。出于普遍性的考量,选择下载Ubuntu/18.04.5版本。(镜像大小约为2.0G)   新建虚拟机,

soldi_er的博客 634

【万字长文】Docker 容器镜像是怎样炼成的?

上周我看了很多关于容器镜像相关的博客,从大佬们那里偷偷学了不少知识,对容器镜像也有了一点点深入的了解。趁着这周末宅在家有空,我把最近所学的知识整理成文,供大家一起食用。文章内容比较长,不过如果读者能有耐心看完,相信还是能收获一些知识。 镜像是怎样炼成的 所谓炼成像就是构建镜像。提到容器镜像就不得不提一下 OCI ,即 Open Container Initiative,旨在围绕容器格式和运行时制定一个开放的工业化标准。目前 OCI 主要有三个规范:运行时规范 runtime-spec ,镜像规范 .

wzlsunice88的博客 739

docker制作基础镜像

制作一个基础的image 1. 用安装盘安装一个操作系统,这里用的是Ubuntu17.04.iso在虚拟机下安装。 2.用tar命令将安装好后的操作系统转换成一个tar文件。 tar --numeric-owner --exclude=/proc --exclude=/sys -cvf Ubuntu17.04.tar / 3.在一台可运行docker的机器上用docker impor...

weixin_30396699的博客 149

把当前ubuntu系统做成镜像

把当前ubuntu系统做成镜像 2018年06月19日 15:24:51还需要再学习一个阅读数:9720 原文地址: http://community.bwbot.org/topic/167/%E4%BD%BF%E7%94%A8systemback%E5%88%B6%E4%BD%9Cubuntu%E8%87%AA%E5%AE%9A%E4%B9%89%E7%...

weixin_34255793的博客 411

怎样利用超图客户端打点_【深度】Docker 容器镜像是怎样炼成的?

Docker 包括三个基本概念:镜像、容器、仓库。理解了这三个概念,就理解了 Docker 的整个生命周期。今天 K8sMeetup 社区给大家带来的是社区特邀作者木子的一篇深度技术文,主要介绍容器镜像的系统知识。作者:木子(才云)编辑:Bach(才云)校对:bot(才云)上周我看了很多关于容器镜像相关的博客,从大佬们那里偷偷学了不少知识,对容器镜像也有了一点点深入的了解。趁着这周末宅在...

weixin_39574246的博客 216

docker

lxc:Linux containerchroot,根切换;namespaces:名称空间CGroups:控制组 yum install lxc lxc-templates cd /usr/share/lxc/templates(里面由很很多不同系统的容器,这里以centos的容器模板作为示例) vim lxc-centos(改里面的yum源是为了后续创建centos的lxc容器使用,改为iso镜...

weixin_34399060的博客 236

docker-compose配置flask+redis(按照步骤执行保证成功)

文章目录1 安装docker-compose2 YAML2.1 基本语法2.2 数据类型2.3 锚点&和引用*3 自定义网络 系统环境:Ubantu 20:04 1 安装docker-compose root@dev-virtual-machine:/home/dev# sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o

kobe_okok的博客 1238
上一篇: supervisor更改某项目配置后 需要重新启动才有效
下一篇: SHELL - shell 脚本获取本机ip并将ip复制给变量待用
Saggitarxm
博客等级 码龄10年 2508粉丝 599原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值