ubuntu下安装Docker和NVIDIA Container Toolkit教程

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker) NVIDIA 容器工具包使用户能够构建和运行 GPU 加速容器。即可以在容器中使用NVIDIA显卡。 阅读详情


安装前的准备

第一步:移除所有的Docker资源

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f


第二步:清除所有之前安装的NVIDIA-Docker

sudo apt-get purge -y nvidia-docker



安装Docker

第一步:更新当前源,更新所需依赖

#更新源
sudo apt update
#下载所需要的依赖
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common


第二步:安装Docker

#阿里云的Docker
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
#添加到仓库
sudo add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”


第三步:安装Docker-ce,以及客户端

#再更新
sudo apt update
#安装docker-ce
sudo apt install docker-ce
sudo apt install docker-ce-cli


第四步:添加用户名到组(注销生效)

#将"your-username"替换为系统的用户名
sudo usermod -aG docker your-username


安装NVIDIA Container Toolkit

第一步:设置变量,获取公钥及软件列表

#设置变量

>distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

#安装公钥
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
#获取list
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list


第二步:下载安装

#更新
sudo apt update
#安装nvidia-container-toolkit
sudo apt install nvidia-container-toolkit
#重启
sudo systemctl restart docker


第三步:测试

#Test NVIDIA Container Toolkit
docker run --gpus all --rm nvidia/cuda:9.0-base nvidia-smi


Docker的常用命令

停止所有的容器

docker stop $(docker ps -a -q)

删除所有容器

docker  rm $(docker ps -a -q)

删除所有镜像

docker rmi $(docker images -q)

测试

apollo 6.0 【开发版】从安装到启动,保姆级全教程 镜像下载、域名解析、时间同步请点击 阿里云开源镜像站 毕设要开始做Apollo相关的课题,自己在这方面完全就是一个小白,光是安装apollo就已经花了不少功夫,也走了一些弯路,所以在这里记录一下,一方面做个总结,另一方面也希望可以帮到和我一样的朋友,最近在做Apollo的朋友也可以点个关注,大家一起交流讨论。 注意!!此方法安装的是开发版,也就是可以看见源码,可以自己开发的版本,如果只是想体验一下自动驾驶,对源码没有学习需要,那安装发行版就行,发行版装起来更简单,教程指路《apollo6.0发行版安装全教程 阅读详情

相关推荐

APOLLO安装教程

Apollo在Ubuntu安装教程

weixin_64668125的博客 5721

Ubuntu NVIDIA-Docker安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。NVIDIA 改进了原始的Docker,便于容器使用NVIDIA GPU。由于仿真环境的配置需要安装很多库,对于新手不太友好,因此我们提供了Docker镜像,便于开发者使用。尽管Docker理论上适配多种操作系统,但由于后续算法开发仍建议在本地进行,因此操作系统仍需使用Ubuntu。

月照银海似蛟龙的博客 5937

局域网 Ubuntu GPU 机器安装 GitLab Runner (用于GitLab的CI/CD,类似于Jenkins的Agent)完整教程

局域网 Ubuntu GPU 机器安装 GitLab Runner 完整教程:GitLab 在 192.168.1.42,Runner 在 192.168.1.41把里面的替换成你在 GitLab 页面拿到的 Runner Token 即可。

u013250861的博客 289

Ubuntu安装Nvidia-Docker

Nvidia-Docker安装教程

视觉算法小趴菜的博客 1983

nvidia-container-toolkit_1.4.2-1_amd64.deb

nvidia-container-toolkit_1.4.2-1_amd64

ubuntu20.04下docker及nvidia-docker安装包

1)nvidia-docker:libnvidia-container1_1.4.0-1_amd64.deb ,libnvidia-container-dev_1.4.0-1_amd64.deb,libnvidia-container-tools_1.4.0-1_amd64.deb,nvidia-container-runtime_3.5.0-1_amd64.deb,nvidia-container-toolkit_1.5.1-1_amd64.deb nvidia-docker2_2.6.0-1_all.deb 2)docker:containerd.io_1.6.26-1_amd64.deb,docker-buildx-plugin_0.11.2-1~ubuntu.20.04~focal_amd64.deb,docker-ce_24.0.7-1~ubuntu.20.04~focal_amd64.deb ,docker-ce-cli_24.0.7-1~ubuntu.20.04~focal_amd64.deb, docker-compose-plugin_2.21.0-1~ubuntu

Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)

本文提供Ubuntu系统下Docker与NVIDIA Container Toolkit的完整安装教程,特别针对国内网络环境进行优化。教程涵盖从Docker卸载、安装配置(使用阿里云镜像源加速)、用户权限设置,到NVIDIA Container Toolkit的安装与验证。详细步骤包括Docker国内镜像源配置、GPU容器环境测试,并附有NVIDIA驱动和容器工具包的一键检查命令。适用于需要GPU加速计算或容器化开发的用户,帮助快速搭建稳定高效的开发环境。

技术路上的探险家 1978

优刻得首个「国产千卡智算集群」落地,支持智源千亿大模型训练

在人工智能引领的时代浪潮中,算力已成为技术进步与创新的核心驱动力。面对当下AI算力需求的飙升、高端AI芯片供应受限的挑战,加之OpenAI带来的技术封锁,唯有坚定不移的发展自主可控的国产技术方案,持续壮大国产智算集群规模,才能一路突破围追堵截,进一步促进国产大模型产业生态繁荣。集群还提供了完善高效的软件栈工具,集成多种主流的深度学习编程框架,通过测试验证,确保了对行业领先人工智能模型的高效支持,做到开箱即用,用户可快速投入模型的开发和部署,加速了其在人工智能领域的布局和发展。方面取得了显著成效。

Ucloud_TShare的博客 1474

ubuntu20.04下安装Docker和NVIDIA Container Toolkit教程

为什么要NVIDIA Container Toolkit?为什么不从pull语句获取带有Nidia的镜像。这里提醒的是,用NVIDIA Container Toolkit本身就是Nidia的镜像生成器,可以生成任意版本的nvidia镜像。

gongdiwudu的专栏 1万+

基于结构的虚拟筛选模型 gnina 从源码编译

所需要的软件安装包: 安装 CUDA 装的时候看着点,第二个要你装驱动的选择,回答N,不装。 sudo sh cuda_10.0.130_410.48_linux.run sudo vim ~/.bashrc 在 ~/.bashrc 文件最后加上 export PATH=/usr/bin:/usr/local/cuda-10.0/bin${PATH} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH} source ~

周迪新的博客 3190

Anaconda+清华源加速PyTorch GPU环境安装与CUDA版本匹配指南

深度学习环境管理常面临依赖冲突与下载缓慢问题,通过虚拟环境隔离与镜像源加速可显著提升效率。Anaconda利用conda机制创建独立Python环境,避免包版本冲突;清华源通过国内镜像同步大幅提高下载速度。GPU版PyTorch安装需严格匹配CUDA、cuDNN与显卡驱动版本,否则易出现CUDA不可用错误。该方案适用于图像分割、目标检测等需多版本PyTorch并存的场景,能快速搭建稳定GPU训练环境。本文详解Anaconda安装、清华源配置及PyTorch GPU版安装全流程。

weixin_30522983的博客 237

在 Ubuntu22.04 中安装 Docker 镜像、NVIDIA 显卡驱动、NVIDIA Container Toolkit(最全教程)

本文详细介绍了在Ubuntu 22.04系统中安装Docker、NVIDIA驱动及NVIDIA Container Toolkit的完整步骤。主要内容包括:1)通过添加官方GPG密钥和配置国内镜像源安装Docker;2)两种安装NVIDIA驱动的方法(推荐使用系统自动检测版本);3)使用中科大镜像源安装NVIDIA Container Toolkit,并配置Docker以支持GPU加速。文中特别强调了驱动版本兼容性和国内镜像源的使用技巧,最后提供了验证安装的方法。整个流程需要注意系统重启和版本匹配问题。

2301_79685903的博客 3531

IT运维必备 开源Urbackup 备份系统部署教程 实战操作

手动添加ip方式检查是否在线 ,linux需要按上述步骤6配置server端地址 不然一直不会进去状态栏。安装依赖sudo apt install -y libcrypto++-dev。补充客户端手动触发备份命令 (一般在服务端操作即可,特殊情况客户端进行操作)修改ubuntu主机名 建议修改为ip 方便上线以ip命名上线。默认客户端安装完毕大概几分钟之内服务端会自动上线。配置客户端指向server端地址。(2)ubuntu 客户端设置。新起一个远程窗口查看配置状态,配置客户端备份文件目录。

qq_34981755的博客 1289

安装NVIDIA Container Toolkit报错,附docker及NVIDIA Container Toolkit安装记录

但是我偷懒没换源,就导致安装NVIDIA Container Toolkit时执行到最后一步报错Unable to find image 'nvidia/cuda:11.0.3-base-ubuntu20.04' locally,于是又换源才解决报错。唯一一个跟着走没有报错的教程。

heyyyyyyyi的博客 1047

creo二次开发使用映射

在creo进行二次开发时,一些无法直接通过访问底层代码来对特征进行操作,比如“镜像装配”,这个时候就可以使用映射(Mapkey)来完成一键镜像。 注:这是镜像装配的代码 ProError status; ProMacro macro; wstring Macro; strMacro = L"mapkey(continued) ~ Command ProCmdMirrorAssem ; mapkey(continued) ~ Activate mirror_component_dialog Sy

qq_49328512的博客 1665

ICCompiler II实战:从NDM生成到APR流程的完整避坑指南

本文是一份针对ICCompiler II(ICC II)后端物理实现流程的实战避坑指南。文章详细解析了从NDM库生成、设计初始化、布局规划到时钟树综合与布线的完整APR流程,重点分享了各环节的常见陷阱、精细化配置命令与调试经验,旨在帮助工程师高效达成PPA目标,确保设计一次成功。

p4q5r6s7t的博客 533

在docker中运行carla

README.md NVIDIA Container Toolkit GitHub license Documentation Package repository nvidia-gpu-docker Introduction The NVIDIA Container Toolkit allows users to build and run GPU accelerated Docker containers. The toolkit includes a container runtime library

wp133716的博客 2018

LLM制造业最佳实践:基于大语言模型处理最优化问题,制造业如何更优排产,提升资源利用率

随着制造业数字化转型加速,生产排产优化成为提升企业效率和竞争力的关键环节。大语言模型(LLM)凭借其强大的多模态数据处理、动态优化和智能推理能力,在复杂排产场景中展现出独特优势。谷歌、DeepSeek等机构的研究表明,LLM可通过自然语言交互和生成式决策,突破传统优化算法的局限性。本报告结合半导体行业实践案例与技术路径,系统分析LLM在排产优化中的应用潜力与挑战。

shiter编写程序的艺术 940

SDXL 1.0电影级绘图工坊部署教程:NVIDIA Container Toolkit配置

本文介绍了如何在星图GPU平台上自动化部署🎨 SDXL 1.0 电影级绘图工坊镜像,实现本地化AI图片生成。该平台简化了部署流程,用户可快速搭建针对RTX 4090优化的绘图环境,轻松应用于电影海报、动漫角色等创意图像的生成。

weixin_30476025的博客 438

直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

在上一章节,我们对于FOC大体有了一个介绍,本博文将详细描述有关Clark变化、Park变化、反Park变化以及SVPWM的理论实现原理,也即相关数学运算实现。

爱出名的狗腿子 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

安装nvidia-docker及安装过程出现的问题

这里要注意的是这一部分,需要的是适合你的cuda版本以及Ubuntu版本,而不是盲目的抄这条命令。官方文档到此为止。

weixin_45165572的博客 3127

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【软件工具使用】docker快速入门指南

【软件工具使用】docker快速入门指南

悟已往之不谏 知来者之可追 882

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

保姆级教程:在Ubuntu 22.04上为Docker容器配置NVIDIA GPU支持(含常见报错解决)

本文提供了一份详细的教程,指导如何在Ubuntu 22.04上为Docker容器配置NVIDIA GPU支持,包括环境准备、NVIDIA Container Toolkit安装、常见报错解决及高级使用技巧。通过逐步操作和实用建议,帮助开发者高效完成配置并优化GPU性能。

weixin_30252709的博客 356

SeqGPT-560M部署教程:NVIDIA Container Toolkit安装与镜像拉取加速方案

本文介绍了如何在星图GPU平台上自动化部署SeqGPT-560M镜像,快速搭建企业级信息抽取AI系统。该平台简化了部署流程,用户可轻松启动该镜像,用于从合同、简历等非结构化文本中毫秒级精准提取人名、公司、金额等关键信息,提升数据处理效率与安全性。

weixin_42451850的博客 633

LingBot-Depth开源模型部署教程:Ubuntu/CentOS系统GPU驱动适配要点

本文介绍了如何在星图GPU平台上自动化部署LingBot-Depth深度感知模型镜像。该平台简化了在Ubuntu/CentOS系统上的GPU驱动适配与CUDA环境配置流程。部署后,该模型可用于将不完整的深度传感器数据(如来自深度摄像头或激光雷达)转换为高质量的度量级3D测量,提升机器人导航、三维重建等应用的精度。

CrystalwaveHawk54的博客 1070

Phi-3 Forest Lab部署教程:Ubuntu+Docker环境下Phi-3 Mini 128K安装

本文介绍了如何在星图GPU平台上自动化部署🌿 Phi-3 Forest Laboratory | 森林晨曦实验室镜像,快速搭建一个基于Phi-3 Mini 128K模型的智能对话助手。该平台简化了部署流程,用户可轻松获得一个拥有治愈系界面的本地AI应用,适用于日常问答、编程辅助、创意写作等智能对话场景。

weixin_42160645的博客 764
上一篇: Ubuntu16.04重装系统
下一篇: Ubuntu下的U盘启动器制作
DeepLearningJay
博客等级 码龄7年 3064粉丝 25原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值