位置: IT常识 - 正文

Docker仓库管理镜像 -- 公共仓库【Docker Hub】和私人仓库【Registry】和【harbor】(docker管理系统)

编辑:rootadmin
镜像仓库管理 docker仓库,用来管理镜像。主要分为公共仓库和私人仓库。下面介绍了公共仓库Docker Hub、私人仓库Registry和harbor。 DockerHUb仓库管理 什么是DockerHUb 保存和分发镜像的最直接方法就是使用 Docker Hub。 ​ Docker Hub 是 ... 镜像仓库管理

推荐整理分享Docker仓库管理镜像 -- 公共仓库【Docker Hub】和私人仓库【Registry】和【harbor】(docker管理系统),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:docker 管理,docker管理系统,docker 仓库管理,docker 管理,docker仓库存放的是什么,docker镜像仓库中存储的是什么,docker 仓库管理,docker 仓库镜像,内容如对您有帮助,希望把文章链接给更多的朋友!

docker仓库,用来管理镜像。主要分为公共仓库和私人仓库。下面介绍了公共仓库Docker Hub、私人仓库Registry和harbor。

DockerHUb仓库管理什么是DockerHUb

保存和分发镜像的最直接方法就是使用 Docker Hub。

​Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中,如果不希望别人访问自己的镜像,也可以购买私有 repository。

账号注册和登陆

一般,你需要先在docker中心创建一个账户(如果您尚未有)。你可以直接在Docker Hub创建你的账户。

如果有已有账号可以点击sign in 进行登录,登陆后是这个样子

Docker客户端登录

使用docker login登录dockerhub

​这将提示您输入用户名,这个用户名将成为你的公共存储库的命名空间名称。如果你的名字可用,docker会提示您输入一个密码和你的邮箱,然后会自动登录到Docker Hub,你现在可以提交和推送镜像到Docker Hub的你的存储库。

docker login

出现 Login Succeeded就说明我们登录成功

注:你的身份验证凭证将被存储在你本地目录的.dockercfg文件中

管理镜像

通过docker images可以看到我们所有的镜像列表

docker images

删除镜像

我们现在的learn-docker-storage有三个版本,现在我们把前两个有问题的版本删除,docker rmi 镜像ID可以删除镜像

docker rmi learn-docker-storage:0.0.1 learn-docker-storage:0.0.2

这样我们就删除了我们没有用的镜像了,可以节省内存空间

修改镜像命名

修改镜像的 repository 使之与 Docker Hub 账号匹配。

​Docker Hub 为了区分不同用户的同名镜像,镜像的 registry 中要包含用户名,完整格式为:[用户名]/镜像名:tag

我们通过 docker tag 命令重命名镜像

docker tag learn-docker-storage:0.0.3 baiyp/learn-docker-storage:0.0.3

这样就将我们的镜像改名了,这个就符合我们的dockerhub的规范了

推送镜像推送镜像

现在我们要将我们的镜像推送到docker hub

推送镜像的规范是docker push 注册用户名/镜像名:tag,因为我们上面已经把镜像名字改正确了,所以可以直接推送。

docker push baiyp/learn-docker-storage:0.0.3

这样我们就将我们的数据推送到docker hub,我们发现只有最顶层的镜像推送了,openjdk的镜像并没有推送,直接复用了仓库的,这就是分层的好处

检查镜像

我们可以到docker hub检查我们的镜像

可以看到我们的镜像已经推送过来了,点开详情可以看到我们镜像的内容以及tag号

仓库镜像测试删除本地镜像

可以通过docker rmi 镜像ID删除本地镜像

docker rmi baiyp/learn-docker-storage:0.0.3 learn-docker-storage:0.0.3

再次查看本地镜像,已经没有了我们的微服务的镜像

docker images

从仓库拉取镜像

这个时候可以从docker hub拉取镜像

docker pull baiyp/learn-docker-storage:0.0.3

这个时候已经将镜像拉取下来了,我们可以运行镜像了

运行镜像

执行下面的命令进行创建镜像

docker run -d \-v /tmp/data/logs:/logs \-p 8003:8003 \--name learn-docker-storage \--network=learn-docker-network \baiyp/learn-docker-storage:0.0.3

访问测试

我们访问下,检查下是否可以正常运行

curl http://192.168.64.153:8003/storage/employe/findByID/10001 | python -m json.tool

到这里我们就完成dockerhub仓库的发布与拉取

直接运行测试

在真实环境中,我们一般不会拉取在运行,一般都是直接运行,如果docker检查镜像不存在会自动拉取

停止服务并删除镜像

docker rm -f learn-docker-storage docker rmi baiyp/learn-docker-storage:0.0.3

我们直接运行容器

docker run -d \-v /tmp/data/logs:/logs \-p 8003:8003 \--name learn-docker-storage \--network=learn-docker-network \baiyp/learn-docker-storage:0.0.3

这一个run命令就解决了容器的拉取以及容器运行的问题

registry仓库管理registry简介

​官方提供了Docker Hub网站来作为一个公开的集中仓库。然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用。

​Docker仓库实际上提供两方面的功能,一个是镜像管理,一个是认证。前者主要由docker-registry项目来实现,通过http服务来上传下载;后者可以通过docker-index(闭源)项目或者利用现成认证方案(如nginx)实现http请求管理。

​docker registry 就是管理 docker 镜像的服务, Docker 公司维护的 registry 就是 http://hub.docker.com ,它可以让我们方便的下载预先做好的镜像。

安装registry

我们可以通过获取官方的 registry 镜像来运行。

​这将使用官方提供的 registry 镜像来启动私有仓库,默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。我们可以通过 -v 参数将镜像文件存放在本地的指定路径。

docker run -d \-p 5000:5000 \-v /tmp/data/registry:/var/lib/registry \--restart=always \registry

这样我们的registry已经启动起来了

访问测试

这时我们可以通过浏览器访问 http://ip:5000/v2/_catalog 查看仓库是否启动成功。

curl http://192.168.64.152:5000/v2/_catalog

上传镜像

registry 上传镜像的命名规范是 仓库IP:5000/镜像名称:tag

修改镜像名称

将我们的镜像改成服务规范的名字

docker tag baiyp/learn-docker-storage:0.0.3 192.168.64.153:5000/learn-docker-storage:0.0.3

推送镜像

使用命令推送镜像

docker push 192.168.64.153:5000/learn-docker-storage:0.0.3

我们发现推送报错了,这是因为docker推送默认使用的https的方式,而我们的registry只支持http的方式

修改Docker推送配置

对于 Linux 系统,我们可以在 /etc/docker/daemon.json (daemon.josn 文件不存在则新建该文件)

vi /etc/docker/daemon.json

添加下面的配置

{ "insecure-registries": ["仓库IP:5000"] }

完整的配置如下

{ "insecure-registries": ["192.168.64.153:5000"], "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]}

执行以下命令重启重新加载配置并生效

systemctl daemon-reloadservice docker restart

再次进行推送

执行命令再次推送

docker push 192.168.64.153:5000/learn-docker-storage:0.0.3

我们发现这次推送成功了

再次访问registry

访问测试检查是否已经推送

curl http://192.168.64.153:5000/v2/_catalog | python -m json.tool

我们发现我们的镜像已经推送到了registry,我们通过以下URL访问下tag列表

curl http://192.168.64.153:5000/v2/learn-docker-storage/tags/list | python -m json.tool

registry镜像测试删除本地镜像

可以通过docker rmi 镜像ID删除本地镜像

docker rmi baiyp/learn-docker-storage:0.0.3 192.168.64.153:5000/learn-docker-storage:0.0.3

运行registry中的镜像docker run -d \-v /tmp/data/logs:/logs \-p 8003:8003 \--name learn-docker-storage \--network=learn-docker-network \192.168.64.153:5000/learn-docker-storage:0.0.3

我们发现自己的registry很快就拉取并且运行起来了

访问微服务测试 curl http://192.168.64.153:8003/storage/employe/findByID/10001 | python -m json.tool

使用Harbor管理仓库什么是Harbor

harbor是一个由vm公司开源的企业级容器镜像仓库,有以下功能

管理用户界面基于角色的访问控制LDAP/AD 集成及日志审计等基本运维操作

​harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓 库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum 可以提供存储chart数据的仓库。

​另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似 于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的 CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的 漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。

Harbor的三种安装方式

这里我们使用离线安装

在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小离线安装:安装包包含部署的相关镜像,因此安装包比较大OVA安装程序(第三方):当用户具有vCenter环境时,使用此安装程序,在部署 OVA后启动Harbor为什么使用私用仓库

公司的项目一般不予许我们上传到 Docker Hub 这类的公共仓库中,所有学会创建一个私有仓库也是非常必要的

​虽然hub.docker.com上可以保存镜像,但是网速相对较慢,在内部环境中搭建一个私有的公共仓库是个更好的方案。

harbor 的基本组件组件功能harbor-adminserver配置管理中心harbor-db数据库harbor-jobservice镜像复制harbor-log日志操作harbor-uiWeb管理页面和APInginx前端代理,负责前端页面和镜像上传/下载转发redis会话registry镜像存储前置工作下载安装包

Harbor官方地址:https://github.com/goharbor/harbor/releases 下载最新版安装包

准备环境

需要安装docker以及docker-compose的环境上面我们已提前安装了

安装Docker环境安装docker-compose环境离线安装解压安装包

解压harbor的安装包

tar -zxf harbor-offline-installer-v2.1.4.tgz

进入目录 然后将harbor.yml.tmp复制一份并该命为harbor.yml

cd harborcp harbor.yml.tmpl harbor.yml

注意: 这里跟老版本不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可

修改harbor.yml

harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!所以 把https相关的已经注释掉

Docker仓库管理镜像 -- 公共仓库【Docker Hub】和私人仓库【Registry】和【harbor】(docker管理系统)

并注意配置文件的用户名密码配置,默认是 用户名是:admin,密码是:Harbor12345,如果修改需要安装前修改

加载本地镜像

使用docker load命令加载本地镜像,不用再从dockerhub下载了

docker load -i harbor.v2.1.4.tar.gz

这样容器镜像就被加载到了本地,我们可以通过docker images命令查看导入的镜像

docker images

执行安装命令

先执行预处理命令,会创建一些文件夹,初始化一些文件

./prepare

然后开始真正的安装过程

./install.sh

如果出现-Harbor has been installed and started successfully表示安装成功,并查看docker进程

docker ps

可以看到很多服务已经起来了。

启动和停止harbor

在harbor的安装目录执行以下命令就可以启动和停止了

# 启动docker-compose up -d # 停止docker-compose stop # 重新启动docker-compose restart harbor使用访问harbor

输入 http://harborIP就可以直接访问了,这里访问我们的地址http://192.168.64.153/

输入用户名密码就可以登录了 ,如果没有修改配置文件 默认是 用户名是:admin,密码是:Harbor12345

登录后就可以进行操作了

Docker登录harbor

使用docker login命令就可以登录harbor了

docker login -u admin -p Harbor12345 192.168.64.153

我们发现登录报错了,这和registry一样,docker模式使用https方式,而我们使用的是http的方式登录

修改Docker配置

对于 Linux 系统,我们可以在 /etc/docker/daemon.json (daemon.josn 文件不存在则新建该文件)

vi /etc/docker/daemon.json

添加下面的配置

{ "insecure-registries": ["harbor地址"] }

完整的配置如下

{ #因为默认端口号是80 所以不需要加端口号 "insecure-registries": ["192.168.64.153"], "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]}

执行以下命令重启重新加载配置并生效

systemctl daemon-reloadservice docker restart

再次进行登录docker login -u admin -p Harbor12345 192.168.64.153

这次我们就成功登录了

到这里我们就已经登录成功了

修改镜像tag

我们推送镜像我要把我们的镜像名称改成符合规范的格式

docker tag \192.168.64.153:5000/learn-docker-storage:0.0.3 \192.168.64.153/library/learn-docker-storage:0.0.3

这里有一个library路径,是harbor默认的项目名称

推送镜像

可以通过docker push进行推送镜像,注意需要先登录在进行推送

docker push 192.168.64.153/library/learn-docker-storage:0.0.3

到这里我们已经推送到了harbor,我们可以登录library页面查看

harbor 测试删除本地镜像

可以通过docker rmi 镜像ID删除本地镜像

docker rmi \192.168.64.153:5000/learn-docker-storage:0.0.3 \192.168.64.153/library/learn-docker-storage:0.0.3

运行harbor 中的镜像

执行运行命令

docker run -d \-v /tmp/data/logs:/logs \-p 8003:8003 \--name learn-docker-storage \--network=learn-docker-network \192.168.64.153/library/learn-docker-storage:0.0.3

访问微服务测试 curl http://192.168.64.153:8003/storage/employe/findByID/10001 | python -m json.tool

查看harbor详情

详情里面会显示拉取次数

HarBor用户权限说明

HarBor用户角色在项目(项目-成员-新加成员)中为3类:项目管理员、开发人员、访客

项目管理员:增删改查开发人员:上传和下载访客:只允许下载HarBor权限配置新建用户

点击创建用户可以创建一个用户

我们创建一个itcast的用户

用户授权

创建用户后进入项目模块添加成员

选择成员后并选择权限

访客只能进行拉取不能推送和管理

用户登录测试

我们用itcast用户通过web端登录测试下,我们发现用户是没有修改权限的

docker登录测试

登录docker客户端

docker login -u itcast -p Qwert123 192.168.64.153

尝试推送镜像

docker push 192.168.64.153/library/learn-docker-storage:0.0.3

我们发现是无法进行推送镜像的

拉取镜像测试

先删除本地的容器以及镜像

docker rm -f learn-docker-storage docker rmi 192.168.64.153/library/learn-docker-storage:0.0.3

尝试拉取并启动本地镜像

docker run -d \-v /tmp/data/logs:/logs \-p 8003:8003 \--name learn-docker-storage \--network=learn-docker-network \192.168.64.153/library/learn-docker-storage:0.0.3

微服务访问测试

curl http://192.168.64.153:8003/storage/employe/findByID/10001 | python -m json.tool

Harbor支持Https(扩展)

为了支持微服务推送我们需要将HarBor设置为https,可以让HarBor在任何地方使用以及推送

生成SSL证书

前面说了怎么搭建harbor仓库,这里讲一讲harbor实现https访问,因为只需要内网访问,没必要去申请一个ssl证书,所以我就用openssl颁发自签名证书,实现https访问。

创建证书目录mkdir -p /tmp/data/cert && cd /tmp/data/cert && ll

创建 CA 根证书openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt -subj "/C=CN/L=beijing/O=itcast/CN=harbor-registry"

这里subj是主题的意思含义如下

C=国家,S=省(市),L=区(县、市),O=组织机构,OU=组织单位,CN=通用名称生成证书签名

生成一个证书签名, 设置访问域名为itcastharbor.com

openssl req -newkey rsa:4096 -nodes -sha256 -keyout itcastharbor.com.key -out server.csr -subj "/C=CN/L=beijing/O=itcast/CN=itcastharbor.com"生成主机证书openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out itcastharbor.com.crt操作步骤如下

配置harbor.yml

然后进入harbor安装目录修改harbor.yml,修改下面几个选项

hostname,使用IP或域名,不要用回环地址,localhost等certificate,yourdomain.com.crt的路径/tmp/data/cert/itcastharbor.com.crtprivate_key,yourdomainr.com.key的路径/tmp/data/cert/itcastharbor.com.key

重新安装harbor服务停止harbor

停止运行中的服务

docker-compose down

运行目录harbor下的prepare完成https的配置

./prepare

重新安装

在harbor目录下运行安装命令

./install.sh

修改Docker推送配置

我们需要将推送的IP改成域名

vi /etc/docker/daemon.json

上文中我们对registry已经操作了,这里需要改用harbor,需要重新配置

#因为默认端口号是80 所以不需要加端口号{ "insecure-registries": ["仓库IP或域名"] }

完整的配置如下

{ "insecure-registries": ["itcastharbor.com"], "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]}

执行以下命令重启重新加载配置并生效

systemctl daemon-reloadservice docker restart修改本地host文件

为了让本机能够正常访问到harbor的web环境需要配置本地的hosts文件增加如下配置

192.168.64.153 itcastharbor.com

windows环境下host路径在C:\Windows\System32\drivers\etc

域名访问harbor

通过域名访问harbor,域名就是我们刚才配置的itcastharbor.com域名访

因为我们的证书是自签的,不是第三方认证的,素以有安全性提示,点击继续就可以访问

到这里登录后就可以访问了

本文由传智教育博学谷教研团队发布。

如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。

转载请注明出处!

本文链接地址:https://www.jiuchutong.com/zhishi/304662.html 转载请保留说明!

上一篇:帝国cms如何安装模板(帝国cms8.0)

下一篇:织梦后台采集https目标站的一系列问题修正(织梦怎么导入数据库)

  • 观赏螃蟹养殖技术喂养吃什么好养活

    观赏螃蟹养殖技术喂养吃什么好养活

  • 怪兽充电宝可以异地归还吗(怪兽充电宝可以归还别的机器上吗)

    怪兽充电宝可以异地归还吗(怪兽充电宝可以归还别的机器上吗)

  • 如何装双系统(手机如何装双系统)

    如何装双系统(手机如何装双系统)

  • 苹果设备名称在哪里改(苹果设备名称在哪里看)

    苹果设备名称在哪里改(苹果设备名称在哪里看)

  • 苹果11pro支持指纹解锁吗(11pro支持指纹么)

    苹果11pro支持指纹解锁吗(11pro支持指纹么)

  • 怎么看是单方面删除还是互删(怎么认定单方事故)

    怎么看是单方面删除还是互删(怎么认定单方事故)

  • 微信怎么设置橱窗(微信的橱窗功能在哪儿)

    微信怎么设置橱窗(微信的橱窗功能在哪儿)

  • 40w快充与5A快充区别(40w快充快还是5a快充快)

    40w快充与5A快充区别(40w快充快还是5a快充快)

  • 关闭语音设置(关闭语音设置功能50)

    关闭语音设置(关闭语音设置功能50)

  • 淘宝扫码登录在哪里(淘宝登录扫一扫在哪里)

    淘宝扫码登录在哪里(淘宝登录扫一扫在哪里)

  • 淘宝交易待结算冻结原因(淘宝交易待结算资金冻结是什么意思)

    淘宝交易待结算冻结原因(淘宝交易待结算资金冻结是什么意思)

  • 淘宝的新的好友是对方加吗(淘宝新的好友是主动加我的吗)

    淘宝的新的好友是对方加吗(淘宝新的好友是主动加我的吗)

  • 搜索qq号对方会知道吗(搜索qq号别人能看到吗)

    搜索qq号对方会知道吗(搜索qq号别人能看到吗)

  • 打印机e2是什么故障(打印机e2是什么故障代码)

    打印机e2是什么故障(打印机e2是什么故障代码)

  • 如何给软件上锁(如何给软件上锁?)

    如何给软件上锁(如何给软件上锁?)

  • 第二代计算机的主要部件是由什么构成的(第二代计算机的主要元件是什么)

    第二代计算机的主要部件是由什么构成的(第二代计算机的主要元件是什么)

  • 计算机系统的光盘可分为(光计算机原理)

    计算机系统的光盘可分为(光计算机原理)

  • cc9可以装内存卡吗(cc9pro可以插内存卡吗)

    cc9可以装内存卡吗(cc9pro可以插内存卡吗)

  • 抖音一天允许发几个(抖音一天可以发几次)

    抖音一天允许发几个(抖音一天可以发几次)

  • mppt太阳能控制器原理(mppt太阳能控制器什么牌子的好)

    mppt太阳能控制器原理(mppt太阳能控制器什么牌子的好)

  • 微信bundleid怎么修改(微信bundle id)

    微信bundleid怎么修改(微信bundle id)

  • rdd的特点(rdd的特点有哪些)

    rdd的特点(rdd的特点有哪些)

  • 如何在Word里插入背景音乐(word文档如何插)

    如何在Word里插入背景音乐(word文档如何插)

  • 问题解决:JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58;(问题解决能力)

    问题解决:JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58;(问题解决能力)

  • ECharts柱状图关闭鼠标hover时的高亮样式(echarts柱形图)

    ECharts柱状图关闭鼠标hover时的高亮样式(echarts柱形图)

  • 梯度下降算法(Gradient descent)(梯度下降算法的正确顺序是)

    梯度下降算法(Gradient descent)(梯度下降算法的正确顺序是)

  • 资源税的计税依据为应税产品的开采量
  • 微信支付宝等三方支付平台余额属于货币资金吗
  • 税控盘的功能特点是
  • 公账转法人私账的注意事项
  • 商业保理公司票据贴现账务处理
  • 冲以前年度暂估
  • 收到上个月支付的短信
  • 建安企业无收入怎么结转成本?
  • 公司股权转移怎么办理
  • 未达起征点的增值税要交所得税吗
  • 定额发票领用日期
  • 开给学校的发票要税号吗
  • 拿到进项票下一步做啥
  • 消费税暂行条例实施细则
  • 资产负债表本期盈余是负数怎么办
  • 企业收付款流程图
  • 选育新品种植物应如何缴纳增值税?
  • 利润分成的会计分录
  • 免费WiFi万能钥匙
  • 电脑开机屏幕黑屏无信号
  • 开业庆典的活动内容
  • 小规模纳税人无票收入免税吗
  • linux环境什么意思
  • 新准则待摊费用
  • 关于汇算清缴的问题
  • 仙鹤草的功效与作用与主治功能
  • 报错专业了可不可以改
  • js编写一个标准的单例模式类
  • php解析json对象
  • php中常见的错误类型有
  • php生成xml文件
  • 吉野是哪里
  • 奥杜邦的祈祷经典语录
  • 增值税附加税必须交吗
  • mysql和php连接
  • php 计算
  • yolov5m
  • 经验模态分解和变分模态分解
  • php 路由实现
  • 财政贴息会计处理怎么理解
  • 单位购买电水壶会计入账
  • 委托境外机构销售开发产品
  • 商贸公司库存商品怎么做分录
  • 代扣代缴的境外收入企业所得税可以抵减吗
  • 0申报残保金逾期影响企业信用评级吗为什么
  • wordpress怎么降级
  • 新合同旧合同的法律依据
  • vue安装插件
  • virtono搭建教程
  • 法人一直把公户账户转账
  • 股东变更会计处理
  • 一般餐饮业的固废是什么
  • 电子商务交易类应用发展现状
  • 公司购买床垫如何做账
  • 教育局给幼儿园的补贴
  • 收银员长款短款什么意思
  • 一正一负发票要做凭证吗
  • 上市公司固定资产增加是好事吗
  • 长期待摊费用的摊销期限应该是
  • sql优化常用的15种方法
  • 计算机二级考试报名入口官网
  • Linux下mysql源码安装笔记
  • ubuntu下载net-tools
  • Mac怎么更改锁屏密码
  • windows安装服务器
  • xp系统运行在哪
  • win102020h2怎么样
  • win7系统怎么创建虚拟网络
  • win8系统怎么设置无线网连接啊
  • win10小娜无法启动语音识别
  • windows7默认网关不可用
  • k mean python
  • js显示时间并且之后秒数实时更新
  • 远程计算机的命令
  • 计算天数的excel公式
  • jquery怎么写
  • 深入理解中国式现代化
  • js foreach倒序
  • jquery中动画效果方法
  • 进口麦片销售公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设