【Docker】从零开始:10.registry搭建私有仓库
【Docker】从零开始:10.registry搭建私有仓库
- 为什么要使用私有仓库
- 关于Docker Registry
- 基于容器搭建registry私有仓库
- 1.下载镜像
- 2. 启动镜像
- 3.修改系统配置文件
- 4.下载ubuntu镜像,修改名称
- 3.提交镜像
- 4.查看镜像
- 本地搭建私有仓库(目前编译报错找不到包,有解决办法后再更新)
- 1.安装golang
- 2.安装git
- 3.配置Golang环境并获取源码
- 安装
为什么要使用私有仓库
- 在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便;另外有时候只是希望在内部用户之间进行分享,不希望暴露出去。这种情况下,就有必要搭建一个本地私有镜像仓库。
关于Docker Registry
- Docker Registry工具目前最新为2.0系列版本,这一版本与一些类库、工具一起被打包为负责容器内容分发的工具集:Docker Distribution。目前其核心的功能组件仍为负责镜像仓库的管理。新版本的Registry基于Golang进行了重构,提供更好的性能和扩展性,并且支持Docker 1.6+的API,非常适合用来构建私有的镜像注册服务器。官方仓库中也提供了Registry的镜像,因此用户可以通过容器运行和源码安装两种方式来使用Registry。
- 使用Docker Registry的两种主要方式:通过容器方式运行和通过本地安装运行并注册为系统服务,以及添加Nginx反向代理,添加用户认证功能。Docker Registry配置文件中各个选项的含义和使用。如何通过脚本来实现对镜像的批量管理,以及使用Registry的通知系统来支持更多应用场景。
基于容器搭建registry私有仓库
1.下载镜像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@docker ~]# docker pull registry:latset
latset: Pulling from library/registry
[DEPRECATION NOTICE] Docker Image Format v1, and Docker Image manifest version 2, schema 1 support will be removed in an upcoming release. Suggest the author of docker.io/library/registry:2.1 to upgrade the image to the OCI Format, or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/
9943fffae777: Pull complete
fb15e825cb68: Pull complete
b9583a207297: Pull complete
a3ed95caeb02: Pull complete
87fee1c528e9: Pull complete
829473b2393f: Pull complete
2c1adb4b358c: Pull complete
Digest: sha256:e641943a78a8f634c16ad69f5c9d779f470b147865c2121d89c52ea0da6fc1bd
Status: Downloaded newer image for registry:latset
docker.io/library/registry:latset
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]#
2. 启动镜像
[root@docker ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/data/registry:/var/lib/registry registry:2.1
6b9d6ee76d00b76a7d0647a7d574d508f525f24f0103e6eedc0d3b734a90e8cc
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b9d6ee76d00 registry:2.1 "/bin/registry /etc/…" 6 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry
[root@docker ~]# netstat -tnlp|grep -w 5000
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 5690/docker-proxy
tcp6 0 0 :::5000 :::* LISTEN 5696/docker-proxy
[root@docker ~]#
3.修改系统配置文件
- Docker Pushh默认往Docker仓库,未修改一下配置会报错:
-[root@docker ~]# docker push 192.168.40.21:5000/ubuntu:v1.0 The push refers to repository [192.168.40.21:5000/ubuntu] Get "https://192.168.40.21:5000/v2/": http: server gave HTTP response to HTTPS client
在文件中添加内容 “insecure-registries”: [“192.168.40.21:5000”],
192.168.40.21是我VM虚拟机的IP
[root@docker ~]# vi /etc/docker/daemon.json
[root@docker ~]# cat /etc/docker/daemon.json
{"insecure-registries": ["192.168.40.21:5000"],"registry-mirrors": ["https://i9t81ora.mirror.aliyuncs.com"]
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]#
4.下载ubuntu镜像,修改名称
[root@docker ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 2 years ago 72.8MB
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b9d6ee76d00 registry:2.1 "/bin/registry /etc/…" 7 minutes ago Up 7 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry
[root@docker ~]# docker tag ubuntu:latest 192.168.40.21:5000/ubuntu:v1.0
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.40.21:5000/ubuntu v1.0 ba6acccedd29 2 years ago 72.8MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]#
3.提交镜像
[root@docker ~]# docker push 192.168.40.21:5000/ubuntu:v1
The push refers to repository [192.168.40.21:5000/ubuntu]
9f54eef41275: Pushed
v1: digest: sha256:7cc0576c7c0ec2384de5cbf245f41567e922aab1b075f3e8ad565f508032df17 size: 529
[root@docker ~]#
4.查看镜像
[root@docker ~]# curl http://192.168.40.21:5000/v2/_catalog
{"repositories":["ubuntu"]}
[root@docker ~]# curl http://192.168.40.21:5000/v2/ubuntu/tags/list
{"name":"ubuntu","tags":["v1"]}
[root@docker ~]#
本地搭建私有仓库(目前编译报错找不到包,有解决办法后再更新)
1.安装golang
[root@docker ~]# yum install golang
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 golang.x86_64.0.1.19.13-1.el7 将被 安装
--> 正在处理依赖关系 golang-bin = 1.19.13-1.el7,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在处理依赖关系 golang-src = 1.19.13-1.el7,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在处理依赖关系 openssl-devel,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 golang-bin.x86_64.0.1.19.13-1.el7 将被 安装
---> 软件包 golang-src.noarch.0.1.19.13-1.el7 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.2k-26.el7_9 将被 安装
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-26.el7_9,它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.15.1-55.el7_9 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-55.el7_9,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-55.el7_9,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-19.el7 将被 升级
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-19.el7,它被软件包 1:openssl-1.0.2k-19.el7.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-26.el7_9 将被 更新
---> 软件包 zlib-devel.x86_64.0.1.2.7-21.el7_9 将被 安装
--> 正在处理依赖关系 zlib = 1.2.7-21.el7_9,它被软件包 zlib-devel-1.2.7-21.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 krb5-libs.x86_64.0.1.15.1-50.el7 将被 升级
---> 软件包 krb5-libs.x86_64.0.1.15.1-55.el7_9 将被 更新
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.15.1-55.el7_9 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-15.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
---> 软件包 openssl.x86_64.1.1.0.2k-19.el7 将被 升级
---> 软件包 openssl.x86_64.1.1.0.2k-26.el7_9 将被 更新
---> 软件包 zlib.x86_64.0.1.2.7-18.el7 将被 升级
---> 软件包 zlib.x86_64.0.1.2.7-21.el7_9 将被 更新
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成依赖关系解决=================================================================================================================================================================================================================================================Package 架构 版本 源 大小
=================================================================================================================================================================================================================================================
正在安装:golang x86_64 1.19.13-1.el7 epel 643 k
为依赖而安装:golang-bin x86_64 1.19.13-1.el7 epel 107 Mgolang-src noarch 1.19.13-1.el7 epel 12 Mkeyutils-libs-devel x86_64 1.5.8-3.el7 base 37 kkrb5-devel x86_64 1.15.1-55.el7_9 updates 273 klibcom_err-devel x86_64 1.42.9-19.el7 base 32 klibkadm5 x86_64 1.15.1-55.el7_9 updates 180 klibselinux-devel x86_64 2.5-15.el7 base 187 klibsepol-devel x86_64 2.5-10.el7 base 77 klibverto-devel x86_64 0.2.5-4.el7 base 12 kopenssl-devel x86_64 1:1.0.2k-26.el7_9 updates 1.5 Mpcre-devel x86_64 8.32-17.el7 base 480 kzlib-devel x86_64 1.2.7-21.el7_9 updates 50 k
为依赖而更新:krb5-libs x86_64 1.15.1-55.el7_9 updates 810 kopenssl x86_64 1:1.0.2k-26.el7_9 updates 494 kopenssl-libs x86_64 1:1.0.2k-26.el7_9 updates 1.2 Mzlib x86_64 1.2.7-21.el7_9 updates 90 k事务概要
=================================================================================================================================================================================================================================================
安装 1 软件包 (+12 依赖软件包)
升级 ( 4 依赖软件包)总下载量:125 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/17): golang-1.19.13-1.el7.x86_64.rpm | 643 kB 00:00:00
(2/17): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(3/17): libcom_err-devel-1.42.9-19.el7.x86_64.rpm | 32 kB 00:00:00
(4/17): krb5-devel-1.15.1-55.el7_9.x86_64.rpm | 273 kB 00:00:00
(5/17): golang-src-1.19.13-1.el7.noarch.rpm | 12 MB 00:00:00
(6/17): libkadm5-1.15.1-55.el7_9.x86_64.rpm | 180 kB 00:00:00
(7/17): libselinux-devel-2.5-15.el7.x86_64.rpm | 187 kB 00:00:00
(8/17): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(9/17): krb5-libs-1.15.1-55.el7_9.x86_64.rpm | 810 kB 00:00:00
(10/17): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(11/17): openssl-1.0.2k-26.el7_9.x86_64.rpm | 494 kB 00:00:00
(12/17): openssl-devel-1.0.2k-26.el7_9.x86_64.rpm | 1.5 MB 00:00:00
(13/17): openssl-libs-1.0.2k-26.el7_9.x86_64.rpm | 1.2 MB 00:00:00
(14/17): zlib-devel-1.2.7-21.el7_9.x86_64.rpm | 50 kB 00:00:00
(15/17): pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:00
(16/17): zlib-1.2.7-21.el7_9.x86_64.rpm | 90 kB 00:00:00
(17/17): golang-bin-1.19.13-1.el7.x86_64.rpm | 107 MB 00:00:04
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 30 MB/s | 125 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在更新 : zlib-1.2.7-21.el7_9.x86_64 1/21 正在更新 : 1:openssl-libs-1.0.2k-26.el7_9.x86_64 2/21 正在更新 : krb5-libs-1.15.1-55.el7_9.x86_64 3/21 正在安装 : libkadm5-1.15.1-55.el7_9.x86_64 4/21 正在安装 : zlib-devel-1.2.7-21.el7_9.x86_64 5/21 正在安装 : keyutils-libs-devel-1.5.8-3.el7.x86_64 6/21 正在安装 : libcom_err-devel-1.42.9-19.el7.x86_64 7/21 正在安装 : libsepol-devel-2.5-10.el7.x86_64 8/21 正在安装 : golang-src-1.19.13-1.el7.noarch 9/21 正在安装 : pcre-devel-8.32-17.el7.x86_64 10/21 正在安装 : libselinux-devel-2.5-15.el7.x86_64 11/21 正在安装 : libverto-devel-0.2.5-4.el7.x86_64 12/21 正在安装 : krb5-devel-1.15.1-55.el7_9.x86_64 13/21 正在安装 : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 14/21 正在安装 : golang-bin-1.19.13-1.el7.x86_64 15/21 正在安装 : golang-1.19.13-1.el7.x86_64 16/21 正在更新 : 1:openssl-1.0.2k-26.el7_9.x86_64 17/21 清理 : 1:openssl-1.0.2k-19.el7.x86_64 18/21 清理 : 1:openssl-libs-1.0.2k-19.el7.x86_64 19/21 清理 : krb5-libs-1.15.1-50.el7.x86_64 20/21 清理 : zlib-1.2.7-18.el7.x86_64 21/21 验证中 : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 1/21 验证中 : zlib-devel-1.2.7-21.el7_9.x86_64 2/21 验证中 : golang-bin-1.19.13-1.el7.x86_64 3/21 验证中 : libverto-devel-0.2.5-4.el7.x86_64 4/21 验证中 : pcre-devel-8.32-17.el7.x86_64 5/21 验证中 : libkadm5-1.15.1-55.el7_9.x86_64 6/21 验证中 : krb5-libs-1.15.1-55.el7_9.x86_64 7/21 验证中 : 1:openssl-libs-1.0.2k-26.el7_9.x86_64 8/21 验证中 : golang-src-1.19.13-1.el7.noarch 9/21 验证中 : 1:openssl-1.0.2k-26.el7_9.x86_64 10/21 验证中 : libsepol-devel-2.5-10.el7.x86_64 11/21 验证中 : libselinux-devel-2.5-15.el7.x86_64 12/21 验证中 : krb5-devel-1.15.1-55.el7_9.x86_64 13/21 验证中 : libcom_err-devel-1.42.9-19.el7.x86_64 14/21 验证中 : zlib-1.2.7-21.el7_9.x86_64 15/21 验证中 : golang-1.19.13-1.el7.x86_64 16/21 验证中 : keyutils-libs-devel-1.5.8-3.el7.x86_64 17/21 验证中 : zlib-1.2.7-18.el7.x86_64 18/21 验证中 : 1:openssl-1.0.2k-19.el7.x86_64 19/21 验证中 : krb5-libs-1.15.1-50.el7.x86_64 20/21 验证中 : 1:openssl-libs-1.0.2k-19.el7.x86_64 21/21 已安装:golang.x86_64 0:1.19.13-1.el7 作为依赖被安装:golang-bin.x86_64 0:1.19.13-1.el7 golang-src.noarch 0:1.19.13-1.el7 keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-55.el7_9 libcom_err-devel.x86_64 0:1.42.9-19.el7 libkadm5.x86_64 0:1.15.1-55.el7_9 libselinux-devel.x86_64 0:2.5-15.el7 libsepol-devel.x86_64 0:2.5-10.el7 libverto-devel.x86_64 0:0.2.5-4.el7 openssl-devel.x86_64 1:1.0.2k-26.el7_9 pcre-devel.x86_64 0:8.32-17.el7 zlib-devel.x86_64 0:1.2.7-21.el7_9 作为依赖被升级:krb5-libs.x86_64 0:1.15.1-55.el7_9 openssl.x86_64 1:1.0.2k-26.el7_9 openssl-libs.x86_64 1:1.0.2k-26.el7_9 zlib.x86_64 0:1.2.7-21.el7_9 完毕!
[root@docker ~]#
2.安装git
[root@docker docker]# yum install git
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 git.x86_64.0.1.8.3.1-25.el7_9 将被 安装
--> 正在处理依赖关系 perl-Git = 1.8.3.1-25.el7_9,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl >= 5.008,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 rsync,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(warnings),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(vars),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(strict),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(lib),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Term::ReadKey),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Git),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Getopt::Long),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::stat),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Temp),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Spec),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Path),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Find),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Copy),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Basename),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Exporter),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Error),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 /usr/bin/perl,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 perl.x86_64.4.5.16.3-299.el7_9 将被 安装
--> 正在处理依赖关系 perl-libs = 4:5.16.3-299.el7_9,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Socket) >= 1.3,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Scalar::Util) >= 1.10,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl-macros,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl-libs,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(threads::shared),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(threads),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(constant),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Time::Local),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Time::HiRes),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Storable),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Socket),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Scalar::Util),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Pod::Simple::XHTML),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Pod::Simple::Search),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Filter::Util::Call),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Carp),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 libperl.so()(64bit),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
---> 软件包 perl-Error.noarch.1.0.17020-2.el7 将被 安装
---> 软件包 perl-Exporter.noarch.0.5.68-3.el7 将被 安装
---> 软件包 perl-File-Path.noarch.0.2.09-2.el7 将被 安装
---> 软件包 perl-File-Temp.noarch.0.0.23.01-3.el7 将被 安装
---> 软件包 perl-Getopt-Long.noarch.0.2.40-3.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Usage) >= 1.14,它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Text::ParseWords),它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要
---> 软件包 perl-Git.noarch.0.1.8.3.1-25.el7_9 将被 安装
---> 软件包 perl-PathTools.x86_64.0.3.40-5.el7 将被 安装
---> 软件包 perl-TermReadKey.x86_64.0.2.30-20.el7 将被 安装
---> 软件包 rsync.x86_64.0.3.1.2-12.el7_9 将被 安装
--> 正在检查事务
---> 软件包 perl-Carp.noarch.0.1.26-244.el7 将被 安装
---> 软件包 perl-Filter.x86_64.0.1.49-3.el7 将被 安装
---> 软件包 perl-Pod-Simple.noarch.1.3.28-4.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Escapes) >= 1.04,它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要
--> 正在处理依赖关系 perl(Encode),它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要
---> 软件包 perl-Pod-Usage.noarch.0.1.63-3.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Text) >= 3.15,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要
--> 正在处理依赖关系 perl-Pod-Perldoc,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要
---> 软件包 perl-Scalar-List-Utils.x86_64.0.1.27-248.el7 将被 安装
---> 软件包 perl-Socket.x86_64.0.2.010-5.el7 将被 安装
---> 软件包 perl-Storable.x86_64.0.2.45-3.el7 将被 安装
---> 软件包 perl-Text-ParseWords.noarch.0.3.29-4.el7 将被 安装
---> 软件包 perl-Time-HiRes.x86_64.4.1.9725-3.el7 将被 安装
---> 软件包 perl-Time-Local.noarch.0.1.2300-2.el7 将被 安装
---> 软件包 perl-constant.noarch.0.1.27-2.el7 将被 安装
---> 软件包 perl-libs.x86_64.4.5.16.3-299.el7_9 将被 安装
---> 软件包 perl-macros.x86_64.4.5.16.3-299.el7_9 将被 安装
---> 软件包 perl-threads.x86_64.0.1.87-4.el7 将被 安装
---> 软件包 perl-threads-shared.x86_64.0.1.43-6.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-Encode.x86_64.0.2.51-7.el7 将被 安装
---> 软件包 perl-Pod-Escapes.noarch.1.1.04-299.el7_9 将被 安装
---> 软件包 perl-Pod-Perldoc.noarch.0.3.20-4.el7 将被 安装
--> 正在处理依赖关系 perl(parent),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要
--> 正在处理依赖关系 perl(HTTP::Tiny),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要
---> 软件包 perl-podlators.noarch.0.2.5.1-3.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-HTTP-Tiny.noarch.0.0.033-3.el7 将被 安装
---> 软件包 perl-parent.noarch.1.0.225-244.el7 将被 安装
--> 解决依赖关系完成依赖关系解决=================================================================================================================================================================================================================================================Package 架构 版本 源 大小
=================================================================================================================================================================================================================================================
正在安装:git x86_64 1.8.3.1-25.el7_9 updates 4.4 M
为依赖而安装:perl x86_64 4:5.16.3-299.el7_9 updates 8.0 Mperl-Carp noarch 1.26-244.el7 base 19 kperl-Encode x86_64 2.51-7.el7 base 1.5 Mperl-Error noarch 1:0.17020-2.el7 base 32 kperl-Exporter noarch 5.68-3.el7 base 28 kperl-File-Path noarch 2.09-2.el7 base 26 kperl-File-Temp noarch 0.23.01-3.el7 base 56 kperl-Filter x86_64 1.49-3.el7 base 76 kperl-Getopt-Long noarch 2.40-3.el7 base 56 kperl-Git noarch 1.8.3.1-25.el7_9 updates 56 kperl-HTTP-Tiny noarch 0.033-3.el7 base 38 kperl-PathTools x86_64 3.40-5.el7 base 82 kperl-Pod-Escapes noarch 1:1.04-299.el7_9 updates 52 kperl-Pod-Perldoc noarch 3.20-4.el7 base 87 kperl-Pod-Simple noarch 1:3.28-4.el7 base 216 kperl-Pod-Usage noarch 1.63-3.el7 base 27 kperl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 kperl-Socket x86_64 2.010-5.el7 base 49 kperl-Storable x86_64 2.45-3.el7 base 77 kperl-TermReadKey x86_64 2.30-20.el7 base 31 kperl-Text-ParseWords noarch 3.29-4.el7 base 14 kperl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 kperl-Time-Local noarch 1.2300-2.el7 base 24 kperl-constant noarch 1.27-2.el7 base 19 kperl-libs x86_64 4:5.16.3-299.el7_9 updates 690 kperl-macros x86_64 4:5.16.3-299.el7_9 updates 44 kperl-parent noarch 1:0.225-244.el7 base 12 kperl-podlators noarch 2.5.1-3.el7 base 112 kperl-threads x86_64 1.87-4.el7 base 49 kperl-threads-shared x86_64 1.43-6.el7 base 39 krsync x86_64 3.1.2-12.el7_9 updates 408 k事务概要
=================================================================================================================================================================================================================================================
安装 1 软件包 (+31 依赖软件包)总下载量:16 M
安装大小:59 M
Is this ok [y/d/N]: y
Downloading packages:
(1/32): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:00
(2/32): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00
(3/32): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00
(4/32): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00
(5/32): git-1.8.3.1-25.el7_9.x86_64.rpm | 4.4 MB 00:00:00
(6/32): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00
(7/32): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:00
(8/32): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00
(9/32): perl-5.16.3-299.el7_9.x86_64.rpm | 8.0 MB 00:00:00
(10/32): perl-Git-1.8.3.1-25.el7_9.noarch.rpm | 56 kB 00:00:00
(11/32): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00
(12/32): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00:00
(13/32): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00
(14/32): perl-Pod-Escapes-1.04-299.el7_9.noarch.rpm | 52 kB 00:00:00
(15/32): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00
(16/32): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00
(17/32): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00
(18/32): perl-Socket-2.010-5.el7.x86_64.rpm | 49 kB 00:00:00
(19/32): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00
(20/32): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00
(21/32): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00
(22/32): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:00
(23/32): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:00
(24/32): perl-macros-5.16.3-299.el7_9.x86_64.rpm | 44 kB 00:00:00
(25/32): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00
(26/32): perl-libs-5.16.3-299.el7_9.x86_64.rpm | 690 kB 00:00:00
(27/32): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:00
(28/32): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00
(29/32): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00
(30/32): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:00
(31/32): rsync-3.1.2-12.el7_9.x86_64.rpm | 408 kB 00:00:00
(32/32): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 6.7 MB/s | 16 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : 1:perl-parent-0.225-244.el7.noarch 1/32 正在安装 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/32 正在安装 : perl-podlators-2.5.1-3.el7.noarch 3/32 正在安装 : perl-Pod-Perldoc-3.20-4.el7.noarch 4/32 正在安装 : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch 5/32 正在安装 : perl-Encode-2.51-7.el7.x86_64 6/32 正在安装 : perl-Text-ParseWords-3.29-4.el7.noarch 7/32 正在安装 : perl-Pod-Usage-1.63-3.el7.noarch 8/32 正在安装 : 4:perl-macros-5.16.3-299.el7_9.x86_64 9/32 正在安装 : perl-Storable-2.45-3.el7.x86_64 10/32 正在安装 : perl-Exporter-5.68-3.el7.noarch 11/32 正在安装 : perl-constant-1.27-2.el7.noarch 12/32 正在安装 : perl-Socket-2.010-5.el7.x86_64 13/32 正在安装 : perl-Time-Local-1.2300-2.el7.noarch 14/32 正在安装 : perl-Carp-1.26-244.el7.noarch 15/32 正在安装 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 16/32 正在安装 : perl-PathTools-3.40-5.el7.x86_64 17/32 正在安装 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 18/32 正在安装 : 1:perl-Pod-Simple-3.28-4.el7.noarch 19/32 正在安装 : perl-File-Temp-0.23.01-3.el7.noarch 20/32 正在安装 : perl-File-Path-2.09-2.el7.noarch 21/32 正在安装 : perl-threads-shared-1.43-6.el7.x86_64 22/32 正在安装 : perl-threads-1.87-4.el7.x86_64 23/32 正在安装 : perl-Filter-1.49-3.el7.x86_64 24/32 正在安装 : 4:perl-libs-5.16.3-299.el7_9.x86_64 25/32 正在安装 : perl-Getopt-Long-2.40-3.el7.noarch 26/32 正在安装 : 4:perl-5.16.3-299.el7_9.x86_64 27/32 正在安装 : 1:perl-Error-0.17020-2.el7.noarch 28/32 正在安装 : perl-TermReadKey-2.30-20.el7.x86_64 29/32 正在安装 : rsync-3.1.2-12.el7_9.x86_64 30/32 正在安装 : perl-Git-1.8.3.1-25.el7_9.noarch 31/32 正在安装 : git-1.8.3.1-25.el7_9.x86_64 32/32 验证中 : perl-HTTP-Tiny-0.033-3.el7.noarch 1/32 验证中 : rsync-3.1.2-12.el7_9.x86_64 2/32 验证中 : perl-threads-shared-1.43-6.el7.x86_64 3/32 验证中 : perl-Storable-2.45-3.el7.x86_64 4/32 验证中 : perl-Exporter-5.68-3.el7.noarch 5/32 验证中 : perl-constant-1.27-2.el7.noarch 6/32 验证中 : perl-PathTools-3.40-5.el7.x86_64 7/32 验证中 : 4:perl-macros-5.16.3-299.el7_9.x86_64 8/32 验证中 : 1:perl-parent-0.225-244.el7.noarch 9/32 验证中 : perl-Socket-2.010-5.el7.x86_64 10/32 验证中 : perl-TermReadKey-2.30-20.el7.x86_64 11/32 验证中 : perl-File-Temp-0.23.01-3.el7.noarch 12/32 验证中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 13/32 验证中 : git-1.8.3.1-25.el7_9.x86_64 14/32 验证中 : perl-Time-Local-1.2300-2.el7.noarch 15/32 验证中 : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch 16/32 验证中 : perl-Carp-1.26-244.el7.noarch 17/32 验证中 : 1:perl-Error-0.17020-2.el7.noarch 18/32 验证中 : perl-Git-1.8.3.1-25.el7_9.noarch 19/32 验证中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 20/32 验证中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 21/32 验证中 : perl-Pod-Usage-1.63-3.el7.noarch 22/32 验证中 : perl-Encode-2.51-7.el7.x86_64 23/32 验证中 : perl-Pod-Perldoc-3.20-4.el7.noarch 24/32 验证中 : perl-podlators-2.5.1-3.el7.noarch 25/32 验证中 : 4:perl-5.16.3-299.el7_9.x86_64 26/32 验证中 : perl-File-Path-2.09-2.el7.noarch 27/32 验证中 : perl-threads-1.87-4.el7.x86_64 28/32 验证中 : perl-Filter-1.49-3.el7.x86_64 29/32 验证中 : perl-Getopt-Long-2.40-3.el7.noarch 30/32 验证中 : perl-Text-ParseWords-3.29-4.el7.noarch 31/32 验证中 : 4:perl-libs-5.16.3-299.el7_9.x86_64 32/32 已安装:git.x86_64 0:1.8.3.1-25.el7_9 作为依赖被安装:perl.x86_64 4:5.16.3-299.el7_9 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-Git.noarch 0:1.8.3.1-25.el7_9 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-299.el7_9 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-5.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-299.el7_9 perl-macros.x86_64 4:5.16.3-299.el7_9 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 rsync.x86_64 0:3.1.2-12.el7_9 完毕!
[root@docker docker]#
3.配置Golang环境并获取源码
[root@docker ~]# clear
[root@docker ~]# mkdir -p $GOPATH/src/github.com/docker/
[root@docker ~]# cd $GOPATH/src/github.com/docker/
[root@docker docker]# git clone https://github.com/docker/distribution.git
正克隆到 'distribution'...
remote: Enumerating objects: 37574, done.
remote: Counting objects: 100% (1623/1623), done.
remote: Compressing objects: 100% (1050/1050), done.
remote: Total 37574 (delta 684), reused 1362 (delta 531), pack-reused 35951
接收对象中: 100% (37574/37574), 31.91 MiB | 13.28 MiB/s, done.
处理 delta 中: 100% (19228/19228), done.
[root@docker docker]#
安装
- 将自带的模板配置文件复制到/etc/docker/registry/路径下,创建存储目录/var/lib/registry:
cd distribution
[root@docker distribution]# mkdir -p /etc/docker/registry
[root@docker distribution]# cp cmd/registry/config-dev.yml /etc/docker/registry/config.yml
[root@docker distribution]# mkdir -p /var/lib/registry
[root@docker distribution]#
相关文章:
【Docker】从零开始:10.registry搭建私有仓库
【Docker】从零开始:10.registry搭建私有仓库 为什么要使用私有仓库关于Docker Registry基于容器搭建registry私有仓库1.下载镜像2. 启动镜像3.修改系统配置文件4.下载ubuntu镜像,修改名称3.提交镜像4.查看镜像 本地搭建私有仓库(目前编译报错找不到包&a…...
树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点
前言 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合c…...
长征故事vr互动教育体验系统让师生感同身受
红色文化是贯穿于新民主主义革命、社会主义建设的各个时期,具有深厚的历史价值和文化内涵的先进文化,是高效、优质的教育资源。思政课vr红色数字展馆充分开发和大力弘扬红色文化资源,发挥其独特资源优势和教育功能,应用到教学中&a…...
汽车级芯片NCV7518MWATXG 可编程六沟道低压侧 MOSFET预驱动器 特点、参数及应用
NCV7518MWATXG 可编程六沟道低压侧 MOSFET 预驱动器属于 FLEXMOS™ 汽车级产品,用于驱动逻辑电平 MOSFET。该产品可通过串行 SPI 和并行输入组合控制。该器件提供 3.3 V/5 V 兼容输入,并且串行输出驱动器可以采用 3.3 V 或 5 V 供电。内部通电重置提供受…...
【分布式】小白看Ring算法 - 03
相关系列 【分布式】NCCL部署与测试 - 01 【分布式】入门级NCCL多机并行实践 - 02 【分布式】小白看Ring算法 - 03 【分布式】大模型分布式训练入门与实践 - 04 概述 NCCL(NVIDIA Collective Communications Library)是由NVIDIA开发的一种用于多GPU间…...
使用Git bash切换Gitee、GitHub多个Git账号
Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Git bash软件来切换Gitee、GitHub账号。 假设在gitee.com上的邮箱是alicefoxmail.com 、用户名为alice;在github上的邮箱是bobfoxmail.com、用户名为bob。 账号…...
【RtpRtcp】1: webrtc m79:audio的ChannelReceive 创建并使用
m79中,RtpRtcp::Create 的调用很少 不知道谁负责创建ChannelReceiveclass ChannelReceive : public ChannelReceiveInterface,public MediaTransportAudioSinkInterface {接收编码后的音频帧:接收rtcp包:...
Ubuntu系统安装docker
1.检查是否安装老版本 检查卸载老版本docker ubuntu下自带了docker的库,不需要添加新的源。 但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。 apt-get remove docker docker-engine docker.io containerd runc 如果不能正常卸载&#x…...
如何访问linux上的web服务
1.获取服务运行端口 例如8080 2.如果时vmware 需要先配置转发端口和主机ip 主机ip需要未使用的 例如: 3.查看虚拟机防火墙设置 centos8 为例 : firewall-cmd --zonepublic --list-ports 查看放通端口 如果没有放通 firewall-cmd --zonepublic --add-p…...
Vatee万腾的数字化掌舵:Vatee科技解决方案的全面引领
随着数字化时代的到来,Vatee万腾凭借其卓越的科技实力和全面的解决方案,成功地在数字化探索的航程中掌舵引领。 首先,Vatee万腾以其强大的数字化科技实力成为行业的引领者。vatee万腾不仅在人工智能、大数据分析、云计算等前沿领域取得了显著…...
YOLOv5 第Y6周 模型改进
🍨 本文为[🔗365天深度学习训练营学习记录博客 🍦 参考文章:365天深度学习训练营 🍖 原作者:[K同学啊] 🚀 文章来源:[K同学的学习圈子](https://www.yuque.com/mingtian-fkmxf/zxwb4…...
Unity Android FireBase bugly报错查询
报错如下图,注意,标红的三处 使用的il2cpp和架构是arm64-v8a 那我们就可以根据这些去找对应的符号表,在unity安装目录下 Unity2020.3.33f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols\arm64-v8a 找到l…...
React中如何解决点击<Tree>节点前面三角区域不触发onClick事件
React中如何解决点击节点前面三角区域不触发onClick事件,如何区别‘左边’和‘右边’区域点击逻辑呢?(Tree引用开源组件TDesign) 只需要在onClick里面加限制一下就行: <TreeexpandMutexactivabletransitiondata{t…...
如何利用4G路由器构建茶饮连锁店物联网
随着年轻消费群体的增长,加上移动互联网营销的助推,各类新式奶茶消费风靡大街小巷,也促进了品牌奶茶连锁店的快速扩张。 在店铺快速扩张的局势下,品牌总部对于各间连锁店的零售统计、营销规划、物流调配、卫生监测、安全管理等事务…...
【2024系统架构设计】 系统架构设计师第二版-大数据架构理论设计与实践
目录 1 传统数据库的数据过载问题 2 大数据处理系统 3 Lambda架构 4 Kappa架构...
正整数分解
题目编号:Exp08-Basic01,GJBook3-12-05 题目名称:正整数分解 题目描述:正整数n,按第一项递减的顺序依次输出其和等于n的所有不增的正整数和式。 输入:一个正整数n(0<n≤15)。 …...
基于51单片机电子钟闹钟LCD1602显示proteus仿真设计
基于51单片机的LCD1602电子钟闹钟proteus仿真设计 基于51单片机的LCD1602电子钟闹钟proteus仿真设计功能介绍:仿真图:原理图:设计报告:程序:器件清单:资料清单&&下载链接: 基于51单片机…...
第三节-Android10.0 Binder通信原理(三)-ServiceManager篇
1、概述 在Android中,系统提供的服务被包装成一个个系统级service,这些service往往会在设备启动之时添加进Android系统,当某个应用想要调用系统某个服务的功能时,往往是向系统发出请求,调用该服务的外部接口。在上一节…...
使用XHProf查找PHP性能瓶颈
使用XHProf查找PHP性能瓶颈 XHProf是facebook 开发的一个测试php性能的扩展,本文记录了在PHP应用中使用XHProf对PHP进行性能优化,查找性能瓶颈的方法。 下载 网上很多是编译安装xhprof-0.9.4版本,应该是用php5,在php8.0下编译x…...
矩阵论(Matrix)
大纲 矩阵微积分:多元微积分的一种特殊表达,尤其是在矩阵空间上进行讨论的时候逆矩阵(inverse matrix)矩阵分解:特征分解(Eigendecomposition),又称谱分解(Spectral decomposition…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
