【Docker】02 镜像管理
文章目录
- 一、Images镜像
- 二、管理操作
- 2.1 搜索镜像
- 2.1.1 命令行搜索
- 2.1.2 页面搜索
- 2.1.3 搜索条件
- 2.2 下载镜像
- 2.3 查看本地镜像
- 2.3.1 docker images
- 2.3.2 --help
- 2.3.3 repository name
- 2.3.4 --filter
- 2.3.5 -q
- 2.3.6 --format
- 2.4 给镜像打标签
- 2.5 推送镜像
- 2.6 删除镜像
- 2.7 导出导入镜像
- 三、镜像文件信息
- 3.1 镜像存储位置
- 3.2 查看镜像层文件
一、Images镜像
镜像,可理解为一个模板,Docker可根据这些Images来执行生成容器来运行,也可将容器打包成镜像。
二、管理操作
2.1 搜索镜像
2.1.1 命令行搜索
通过docker search
命令来搜索相关镜像。
[root@server ~]# docker search alpine
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
alpine A minimal Docker image based on Alpine Linux… 10611 [OK]
alpinelinux/docker-cli Simple and lightweight Alpine Linux image wi… 10
alpinelinux/alpine-gitlab-ci Build Alpine Linux packages with Gitlab CI 3
alpinelinux/gitlab-runner-helper Helper image container gitlab-runner-helper … 6
alpinelinux/rsyncd 2
2.1.2 页面搜索
2.1.3 搜索条件
[root@server ~]# docker search --helpUsage: docker search [OPTIONS] TERMSearch Docker Hub for imagesOptions:-f, --filter filter Filter output based on conditions provided--format string Pretty-print search using a Go template--limit int Max number of search results--no-trunc Don't truncate output
增加搜索条件,过滤STARS大于等于3000的镜像:
[root@server ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 14779 [OK]
mariadb MariaDB Server is a high performing open sou… 5638 [OK]
2.2 下载镜像
直接拉取(下载)相关镜像的话,默认是最新版本:
[root@server ~]# docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
661ff4d9561e: Already exists
Digest: sha256:51b67269f354137895d43f3b3d810bfacd3945438e94dc5ac55fdac340352f48
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
下载指定Tag版本:
[root@server ~]# docker pull alpine:3.10.3
3.10.3: Pulling from library/alpine
89d9c30c1d48: Pull complete
Digest: sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a
Status: Downloaded newer image for alpine:3.10.3
docker.io/library/alpine:3.10.3
2.3 查看本地镜像
官方文档:docker images
2.3.1 docker images
通过docker images
命令查看本地镜像:
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis alpine 20658529aaf6 8 days ago 46.1MB
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
alpine 3.10.3 965ea09ff2eb 4 years ago 5.55MB
2.3.2 --help
[root@server ~]# docker images --helpUsage: docker images [OPTIONS] [REPOSITORY[:TAG]]List imagesAliases:docker image ls, docker image list, docker imagesOptions:-a, --all Show all images (default hides intermediate images)--digests Show digests-f, --filter filter Filter output based on conditions provided--format string Format output using a custom template:'table': Print output in table format with column headers(default)'table TEMPLATE': Print output in table format using the given Gotemplate'json': Print in JSON format'TEMPLATE': Print output using the given Go template.Refer to https://docs.docker.com/go/formatting/ for more informationabout formatting output with templates--no-trunc Don't truncate output 不对镜像ID做截取-q, --quiet Only show image IDs
2.3.3 repository name
# 显示指定仓库Repository的镜像,可带Tag标签
[root@server ~]# docker images alpine
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
alpine 3.10.3 965ea09ff2eb 4 years ago 5.55MB[root@server ~]# docker images alpine:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
2.3.4 --filter
# 显示未打Tag的镜像,此处是无
[root@server ~]# docker images --filter "dangling=true"
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@server ~]# docker images --filter "dangling=false"
REPOSITORY TAG IMAGE ID CREATED SIZE
pro_omc_ops 1.0 c5f5e39dedbd 2 days ago 309MB
redis alpine 20658529aaf6 8 days ago 46.1MB
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
alpine 3.10.3 965ea09ff2eb 4 years ago 5.55MB# 删除无Tag标签的镜像
[root@server ~]# docker rmi $(docker images --filter "dangling=true" -q) # 显示在某个镜像创建之前的所有镜像
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
[root@server ~]# docker images --filter "before=alpine"
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB
[root@server ~]# docker images --filter "before=f8c20f8bbcb6"
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB# 显示指定镜像创建时间之后的所有镜像
[root@server ~]# docker images --filter "since=hello-world"
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB# 镜像REPOSITORY的模糊查找,支持多个reference
[root@server ~]# docker images --filter reference='al*'
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
[root@server ~]# docker images --filter reference='hello*'
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB
[root@server ~]# docker images --filter reference='hello*' --filter reference='al*'
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
2.3.5 -q
# 只显示镜像的ID
[root@server ~]# docker images -q
c5f5e39dedbd
20658529aaf6
f8c20f8bbcb6
d2c94e258dcb
965ea09ff2eb
2.3.6 --format
--format
格式化的相关参数:
[root@server ~]# docker images --format "{{.ID}}: {{.Repository}}"
f8c20f8bbcb6: alpine
d2c94e258dcb: hello-world[root@server ~]# docker images --format "table {{.ID}}:\t{{.Repository}}\t{{.Tag}}"
IMAGE ID: REPOSITORY TAG
f8c20f8bbcb6: alpine latest
d2c94e258dcb: hello-world latest# 以JSON格式列出所有镜像
[root@server ~]# docker images --format json
{"Containers":"N/A","CreatedAt":"2023-12-08 09:20:49 +0800 CST","CreatedSince":"5 weeks ago","Digest":"\u003cnone\u003e","ID":"f8c20f8bbcb6","Repository":"alpine","SharedSize":"N/A","Size":"7.38MB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"7.377MB"}
{"Containers":"N/A","CreatedAt":"2023-05-03 00:49:27 +0800 CST","CreatedSince":"8 months ago","Digest":"\u003cnone\u003e","ID":"d2c94e258dcb","Repository":"hello-world","SharedSize":"N/A","Size":"13.3kB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"13.26kB"}
2.4 给镜像打标签
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
[root@server ~]# docker tag f8c20f8bbcb6 docker.io/alpine:2.2.2
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 2.2.2 f8c20f8bbcb6 5 weeks ago 7.38MB
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
2.5 推送镜像
[root@server ~]# docker push docker.io/asdfv1929/alpine:v7.31
The push refers to repository [docker.io/asdfv1929/alpine]
72e830a4dff5: Mounted from library/alpine
v7.31: digest: sha256:1775bebec23e1f3ce486989bfc9ff3c4e951690df84aa9f926497d82f2ffca9d size: 528
2.6 删除镜像
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 2.2.2 f8c20f8bbcb6 5 weeks ago 7.38MB
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB[root@server ~]# docker rmi alpine:2.2.2
Untagged: alpine:2.2.2
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
[root@server ~]# docker rmi alpine:latest
Untagged: alpine:latest
Untagged: alpine@sha256:51b67269f354137895d43f3b3d810bfacd3945438e94dc5ac55fdac340352f48
Deleted: sha256:f8c20f8bbcb684055b4fea470fdd169c86e87786940b3262335b12ec3adef418
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB# -f 强制删除
[root@server ~]# docker rmi -f d2c94e258dcb
Untagged: hello-world:latest
Untagged: hello-world@sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Deleted: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a# 删除所有镜像
[root@server ~]# docker rmi -f $(docker images -aq)
Untagged: hello-world:latest
Untagged: hello-world@sha256:4bd78111b6914a99dbc560e6a20eab57ff6655aea4a80c50b0c5491968cbc2e6
Deleted: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@server ~]#
2.7 导出导入镜像
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB# 导出镜像
[root@server ~]# docker save d2c94e258dcb > hello-latest.tar[root@server ~]# ll hello-latest.tar
-rw-r--r--. 1 root root 22016 Jan 18 20:05 hello-latest.tar# 导入镜像
[root@server ~]# docker load -i hello-latest.tar
Loaded image ID: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
三、镜像文件信息
3.1 镜像存储位置
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 8 months ago 13.3kB# 文件的前12位即为镜像的ID
[root@server ~]# ll /var/lib/docker/image/overlay2/imagedb/content/sha256/
total 4
-rw-------. 1 root root 581 Jan 18 19:59 d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a# 查看镜像文件内容
[root@server ~]# cat /var/lib/docker/image/overlay2/imagedb/content/sha256/d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
{"architecture":"amd64","config":{"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/hello"],"WorkingDir":"/","ArgsEscaped":true,"OnBuild":null},"created":"2023-05-02T16:49:27Z","history":[{"created":"2023-05-02T16:49:27Z","created_by":"COPY hello / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-05-02T16:49:27Z","created_by":"CMD [\"/hello\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:ac28800ec8bb38d5c35b49d45a6ac4777544941199075dff8c4eb63e093aa81e"]}}
3.2 查看镜像层文件
[root@server ~]# ll /var/lib/docker/image/overlay2/layerdb/sha256/
total 0
drwx------. 2 root root 85 Jan 10 14:42 03b689971beda84d64b529b31795b90dd04b8101a6cb6eb130401c3b3f789d0a
drwx------. 2 root root 85 Jan 16 09:32 1db87e37572d9033619f854bd3a90343a745eacad89661951c45378532b3a70f
drwx------. 2 root root 85 Jan 10 15:42 2199eb66405a876e223944aa9bf864899a1d7642725867cbad2f987c30a7bd4c
drwx------. 2 root root 85 Jan 10 16:00 31fd5efb2e46f5ec563eeecea425110667b89cab1c91358ec2c2abad895d574f
drwx------. 2 root root 85 Jan 10 14:43 50f5a10ada14518bde74ac2e3d496817ae963780c3465a68d42c6f2253594f29
drwx------. 2 root root 85 Jan 10 14:42 595431852bbc71ca9610933a01959afa4f2c41509ace1bbb54b6ae9af20a4e20
drwx------. 2 root root 71 Jan 10 14:42 5af4f8f59b764c64c6def53f52ada809fe38d528441d08d01c206dfb3fc3b691
drwx------. 2 root root 85 Jan 16 10:53 6048310efaa222cf9cf8d2bc8f3c39835d172a62320426257b08348f98f8f471
drwx------. 2 root root 85 Jan 10 16:20 63342cdfc4c83913172e3ed5644b5b3168d0b8bcbbbc2b29e9cf8ad67d7f4f47
drwx------. 2 root root 85 Jan 10 16:41 6e1739548915b0823ef27e8c5b4b5a38ff8dfe4cad8cbb872f5ab5755aab47f6
drwx------. 2 root root 85 Jan 16 10:43 73e8eba6c99272151a3bc9c95c23ae4e4ee77fdadbd65dbe00976d06c01d79c8
drwx------. 2 root root 85 Jan 10 14:43 7443e951ac7ff82bc91ebee219fe24df641bad668c4dc1eaf0998a81be2fdac8
drwx------. 2 root root 85 Jan 10 15:54 7aabc2f19676e207c21ff591882b3216697cc27813d45816ca64e04b2837a6aa
drwx------. 2 root root 71 Jan 10 13:27 ac28800ec8bb38d5c35b49d45a6ac4777544941199075dff8c4eb63e093aa81e
drwx------. 2 root root 85 Jan 10 16:16 bb464434e5d56949ee8f1080bdae4d2b3eeb57a1451d7c195eb1f71451926057
drwx------. 2 root root 85 Jan 10 14:42 bd6461f4898114060f6d30c2ae3828829c31804375461d304d0baead03333a63
drwx------. 2 root root 85 Jan 10 14:43 c51f246267806c659dc24c9c353ecd22421d44d659ffddb3ab64a4c403eb9204
drwx------. 2 root root 85 Jan 10 14:43 d1fce9f49c0ac97ea93606fa282700fca2f0aa0cdbea829d35c4da12406e1c0c
drwx------. 2 root root 85 Jan 10 17:15 ee5e48bebc436ac28496136d00ace179616ee3c35828f524629ed89718abec4b
drwx------. 2 root root 85 Jan 10 14:42 f7ff6a7ad88e8a59f027e202e5ca77fa4162d8b82ef66724daf26cbb9b5acdeb
镜像层文件夹内的结构:
size
:占用大小
tar-split.json.gz
:镜像层文件包
[root@server ~]# cd /var/lib/docker/image/overlay2/layerdb/sha256/
[root@server sha256]# ll 03b689971beda84d64b529b31795b90dd04b8101a6cb6eb130401c3b3f789d0a/
total 92
-rw-r--r--. 1 root root 64 Jan 10 14:42 cache-id
-rw-r--r--. 1 root root 71 Jan 10 14:42 diff
-rw-r--r--. 1 root root 71 Jan 10 14:42 parent
-rw-r--r--. 1 root root 8 Jan 10 14:42 size
-rw-r--r--. 1 root root 77504 Jan 10 14:42 tar-split.json.gz
[root@server sha256]#
相关文章:
【Docker】02 镜像管理
文章目录 一、Images镜像二、管理操作2.1 搜索镜像2.1.1 命令行搜索2.1.2 页面搜索2.1.3 搜索条件 2.2 下载镜像2.3 查看本地镜像2.3.1 docker images2.3.2 --help2.3.3 repository name2.3.4 --filter2.3.5 -q2.3.6 --format 2.4 给镜像打标签2.5 推送镜像2.6 删除镜像2.7 导出…...
了解海外云手机的多种功能
随着社会的高度发展,海外云手机成为商家不可或缺的工具,为企业出海提供了便利的解决方案。然而,谈及海外云手机,很多人仍不了解其强大功能。究竟海外云手机有哪些功能,可以为我们做些什么呢? 由于国内电商竞…...
白酒:自动化生产线的优势与实践
随着科技的进步,自动化生产线在各行各业的应用越来越广泛。云仓酒庄的豪迈白酒在生产过程中,也积极引入自动化生产线,以提升生产效率、品质和安全性。 首先,自动化生产线能够显著提高生产效率。传统的手工生产线在生产过程中容易受…...
用HTML5实现灯笼效果
本文介绍了两种实现效果:一种使用画布(canvas)标签/元素,另一种不用画布(canvas)标签/元素主要使用CSS实现。 使用画布(canvas)标签/元素实现,下面,在画布上…...
Postgresql源码(120)事务XID分配与主备XID同步
参考 《Postgresql源码(25)子事务可见性判断和性能问题》 XID获取顶层入口 函数:AssignTransactionId static void AssignTransactionId(TransactionState s) {...优先给没有事务ID的父事务分配 确保父事务有 XID,以便子事务总是…...
B2077 角谷猜想(洛谷)
题目描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 33 加 11,如果是偶数,则除以 22,得到的结果再按照上述规则重复处理,最终总能够得到 11。如,假定初始整数为 55&…...
排序算法---归并排序
原创不易,转载请注明出处。欢迎点赞收藏~ 归并排序是一种常见的排序算法,它采用了分治的思想。它将一个待排序的数组递归地分成两个子数组,分别对两个子数组进行排序,然后将排好序的子数组合并成一个有序数组。 具体的归并排序过…...
[WUSTCTF2020]朴实无华(特详解)
一开始说header出问题了 就先dirsaerch扫一遍 发现robot.txt 访问一下 去看看,好好好,肯定不是得 他一开始说header有问题,不妨抓包看看,果然有东西 访问看看,乱码修复一下,在之前的博客到过 <img src…...
下载已编译的 OpenCV 包在 Visual Studio 下实现快速配置
自己编译 OpenCV 挺麻烦的,配置需要耗费很长时间,编译也需要很长时间,而且无法保证能全部编译通过。利用 OpenCV 官网提供的已编译的 OpenCV 库可以节省很多时间。下面介绍安装配置方法。 1. OpenCV 官网 地址是:https://opencv…...
【Linux系统学习】3.Linux用户和权限
Linux用户和权限 1.认知root用户 1.1 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员) 而在前期&#…...
视频美颜SDK开发指南:从入门到精通的技术实践
美颜SDK是一种强大的工具,它不仅仅可以让用户在实时视频中获得光滑的肌肤和自然的妆容,从简单的滤镜到复杂的人脸识别,美颜SDK涵盖了广泛的技术领域。 一、美颜SDK的基本原理 美颜SDK包括图像处理、人脸检测和识别、滤镜应用等方面。掌握这些…...
Electron基本介绍
Electron基本介绍 Electron 官方网站:https://www.electronjs.org/zh/ Electron安装方法:npm install electron -g 全局安装 Electron简介:Electron提供了丰富的本地(操作系统)API,使你能够使用纯JavaScr…...
使用网关过滤器,根据业务规则实现微服务动态路由
文章目录 业务场景拦截器实现Spring Cloud Gateway介绍 业务场景 我们服务使用Spring Cloud微服务架构,使用Spring Cloud Gateway 作为网关,使用 Spring Cloud OpenFeign 作为服务间通信方式作为网关,主要作用是鉴权与路由转发。大多数应用场…...
PKI - 03 密钥管理(如何进行安全的公钥交换)
文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点: 安全的公钥交换:在使用基于非对称密钥算法的服务之前,…...
Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)
Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑!仅 860K, 还不到 1M, 但却是功能强大! V2.2 (2024春节・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…...
HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用
原生智能是HarmonyOS NEXT的核心亮点之一,依托HarmonyOS SDK丰富全面的开放能力,开发者只需通过几行代码,即可快速实现AI功能。新浪新闻作为鸿蒙原生应用开发的先行者之一,从有声资讯入手,基于Speech Kit朗读控件上线听…...
IT行业有哪些证书含金量高呢?
目录 引言: 一、 计算机网络类证书 二、 数据库管理类证书 三、 安全与信息技术管理类证书 四、 编程与开发类证书 五、 数据科学与人工智能类证书 六、结论: 悟已往之不谏,知来者犹可追 …...
zlib交叉编译(rv1126)
目录 1.下载 2.解压 3.配置 4.编译 1.下载 1)下载地址 zlib Home Site 2)下载tar.gz版本 下载该版本。 2.解压 1)解压到某个文件夹,新建 install-rv1126文件夹 2)进入源码目录 3.配置 1)导出交叉编…...
数字孪生与智慧园区的融合:打造未来产业生态的新篇章
随着科技的飞速发展,数字孪生和智慧园区已经成为当今社会发展的重要趋势。数字孪生技术为物理世界的对象提供了数字化的复制体,而智慧园区则通过各种信息技术手段实现园区的智能化管理。二者的融合,将为未来产业生态的发展开辟新的篇章。 一…...
nodejs将console.log保存到log.txt文档中(electron工具)
txtConsole.js const { app } require(electron); const fs require(fs); const moment require(moment); const mainData require(./mainData);//electron 软件根目录 const rootPath path.dirname(app.getPath(exe));const txtConsole {log(p1 , p2 , p3 , p4 , p…...
微服务的幂等性
微服务架构设计的中心思想是将服务进行拆分,但是在这个过程中,如果被依赖的服务发生奔溃,就会引起一系列问题。为了解决这个问题,就会引入重试的机制,重试又会引入幂等性的问题,下面我们就分析这个过程&…...
Redis之基础篇
Redis简介 Redis是一种基于键值对(Key-Value)的NoSQL数据库,它支持string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集…...
靶机实战bwapp亲测xxe漏洞攻击及自动化XXE注射工具分析利用
靶机实战bwapp亲测xxe漏洞攻击及自动化XXE注射工具分析利用。 1|0介绍 xxe漏洞主要针对webservice危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目录遍历等.首先存在漏洞的web服务一定是存在xml传输数据的,可以在http头的content-type中查…...
openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU
文章目录 openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU216.1 CPU216.2 查看CPU状况216.3 性能参数分析 openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU 获取openGauss节点的CPU、内存、I/O和网络资源使用情况…...
【教程】Linux使用git自动备份和使用支持文件恢复的rm命令
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 首先非常不幸地告诉你:Linux 系统的标准 rm 命令不支持文件恢复功能。一旦使用 rm 删除了文件或目录,它们就会从文件系统中永久删除,除非你使用专门的文件恢复工具尝试…...
记录使用M1 Mac开发LVGL嵌入式项目
技术流 使用Gui Guider进行UI设计,生成lvgl code将lvgl code移植到esp32s3开发板 Gui Guider的安装 安装下面流程一步一步进行 LVGL的移植 硬件:esp32-8048s043开发板 开发环境:PlatformIO M1芯片安装ESP32驱动 从https://www.wch.cn…...
【SpringBoot】JWT令牌
📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 什么是JWT JWT简称JSON Web Token,也就是通过JSON形式作为Web应用的令牌,用于各方面之间安全的将信息作为JSON对象传输…...
Python爬虫 Beautiful Soup库详解#4
爬虫专栏:http://t.csdnimg.cn/WfCSx 使用 Beautiful Soup 前面介绍了正则表达式的相关用法,但是一旦正则表达式写的有问题,得到的可能就不是我们想要的结果了。而且对于一个网页来说,都有一定的特殊结构和层级关系,…...
Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件
------------★Tkinter系列教程★------------ Tkinter教程21:Listbox列表框OptionMenu选项菜单Combobox下拉列表框控件的使用绑定事件 Tkinter教程20:treeview树视图组件,表格数据的插入与表头排序 Python教程57:tkinter中如何…...
Django中的SQL注入攻击防御策略
Django中的SQL注入攻击防御策略 SQL注入是一种常见的网络安全威胁,可以导致数据库被非法访问和数据泄露。本文将介绍在Django框架中防止SQL注入攻击的关键方法,包括使用参数化查询、使用ORM、进行输入验证和使用安全的编码实践。 SQL注入是一种利用应用程…...
ORM模型类
模型 创建两个表 创建模型类 from django.db import models# Create your models here. class BookInfo(models.Model):name models.CharField(max_length10, uniqueTrue) # 书名pub_date models.DateField(nullTrue) # 发布时间read_count models.IntegerField(default…...
Java强训day14(选择题编程题)
选择题 编程题 题目1 import java.util.Scanner;public class Main {public static void main(String[] args) {//读入年月日(字符串形式读入)Scanner sc new Scanner(System.in);String s sc.nextLine();String[] ss s.split(" ");i…...
Redis核心技术与实战【学习笔记】 - 31.番外篇:Redis客户端如何与服务器端交换命令和数据
简述 Redis 使用 RESP 协议(Redis Serialzation Protocol)协议定义了客户端和服务器端交互的命令、数据的编码格式。在 Redis 2.0 版本中,RESP 协议正式称为客户端和服务器端的标准通信协议。从 Redis 2.0 到 Redis 5.0 ,RESP 协…...
电缆线的阻抗50Ω,真正含义是什么?
当我们提到电缆线的阻抗时,它到底是什么意思?RG58电缆通常指的是50Ω的电缆线。它的真正含义是什么?假如取一段3英尺(0.9144米)长的RG58电缆线,并且在前端测量信号路径与返回路径之间的阻抗。那么测得的阻抗是多少?当然…...
校园团餐SAAS系统源码
## 项目介绍 校园团餐SAAS系统,是全新推出的一款轻量级、高性能、前后端分离的团餐系统,支持微信小程序 。 技术特点 > * 前后端完全分离 (互不依赖 开发效率高) > * 采用PHP8 (强类型严格模式) > * ThinkPHP8.0(轻量级PHP开发框…...
图数据库neo4j入门
neo4j 一、安装二、简单操作<一>、创建<二>、查询<三>、关系<四>、修改<五>、删除 三、常见报错<一>、默认的数据库密码是neo4j,打开浏览器http://localhost:7474登录不上,报错: Neo.ClientError.Security.Unauthorized: The client is un…...
Multisim14.0仿真(五十五)汽车转向灯设计
一、功能描述: 左转向:左侧指示灯循环依次闪亮; 右转向:右侧指示灯循环依次闪亮; 刹车: 所有灯常亮; 正常: 所有灯熄灭。 二、主要芯片: 74LS161D 74LS04D 74…...
2402C++,C++的反向代理
原文 cinatra支持反向代理很简单,5行代码就可以了.先看一个简单的示例: #include "cinatra/coro_http_reverse_proxy.hpp" using namespace cinatra; int main() {reverse_proxy proxy_rr(10, 8091);proxy_rr.add_dest_host("127.0.0.1:9001");proxy_rr.a…...
[职场] 服务行业个人简历 #笔记#笔记
服务行业个人简历 服务员个人简历范文1 姓名: XXX国籍:中国 目前所在地:天河区民族:汉族 户口所在地:阳江身材: 160cm43kg 婚姻状况:未婚年龄: 21岁 培训认证:诚信徽章: 求职意向及工作经历 人才类型:普通求职 应聘职位: 工作年限:职称:初级 求职类型:全职可到职日期:随时 月薪…...
代码随想录算法训练营|day30
第七章 回溯算法 332.重新安排行程51.N皇后37.解数独代码随想录文章详解 332.重新安排行程 (1)参考 创建map存储src,[]dest映射关系,并对[]dest排序 每次取map中第一个dest访问,将其作为新的src,每访问一条src->destÿ…...
PHPExcel导出excel
PHPExcel下载地址 https://gitee.com/mirrors/phpexcelhttps://github.com/PHPOffice/PHPExcel 下载后目录结构 需要的文件如下图所示 将上面的PHPExcel文件夹和PHPExcel.php复制到你需要的地方 这是一个简单的示例代码 <?php$dir dirname(__FILE__); //require_once …...
ubuntu系统下c++ cmakelist vscode debug(带传参的debug)的详细示例
c和cmake的debug,网上很多都需要配置launch.json,cpp.json啥的,记不住也太复杂了,我这里使用cmake插件带有的设置,各位可以看一看啊✌(不知不觉,竟然了解了vscode中配置文件的生效逻辑🤣) 克隆…...
聊聊JIT优化技术
🎬作者简介:大家好,我是小徐🥇☁️博客首页:CSDN主页小徐的博客🌄每日一句:好学而不勤非真好学者 📜 欢迎大家关注! ❤️ 我们知道,想要把高级语言转变成计算…...
LabVIEW动平衡测试与振动分析系统
LabVIEW动平衡测试与振动分析系统 介绍了利用LabVIEW软件和虚拟仪器技术开发一个动平衡测试与振动分析系统。该系统旨在提高旋转机械设备的测试精度和可靠性,通过精确测量和分析设备的振动数据,以识别和校正不平衡问题,从而保证机械设备的高…...
《低功耗方法学》翻译——附录B:UPF命令语法
附录B:UPF命令语法 本章介绍了文本中引用的所选UPF命令的语法。 节选自“统一电源格式(UPF)标准,1.0版”,经该Accellera许可复制。版权所有:(c)2006-2007。Accellera不声明或代表摘录材料的准确性或内容&…...
Leetcode 3027. Find the Number of Ways to Place People II
Leetcode 3027. Find the Number of Ways to Place People II 1. 解题思路2. 代码实现 题目链接:3027. Find the Number of Ways to Place People II 1. 解题思路 这一题的话我也没想到啥特别好的思路,采用的纯粹是遍历剪枝的思路。 遍历的话好理解&…...
android inset 管理
目录 简介 Insets管理架构 Insets相关类图 app侧的类 WMS侧的类 inset show的流程 接口 流程 WMS侧确定InsetsSourceControl的流程 两个问题 窗口显示时不改变现有的inset状态 全屏窗口上的dialog 不显示statusbar问题 View 和 DecorView 设置insets信息 输入法显…...
Python中使用opencv-python库进行颜色检测
Python中使用opencv-python库进行颜色检测 之前写过一篇VC中使用OpenCV进行颜色检测的博文,当然使用opencv-python库也可以实现。 在Python中使用opencv-python库进行颜色检测非常简单,首选读取一张彩色图像,并调用函数imgHSV cv2.cvtColor…...
如何修改远程端服务器密钥
前言 一段时间没改密码后,远程就会自动提示CtrlAltEnd键修改密码。但我电脑是笔记本,没有end键。打开屏幕键盘按这三个键也没用。 解决方法 打开远程 1、远程端WINC 输入osk 可以发现打开了屏幕键盘 2、电脑键盘同时按住CtrlAlt(若自身电…...
lnmp指令
LNMP官网:https://lnmp.org 作者: licess adminlnmp.org 问题反馈&技术支持论坛:https://bbs.vpser.net/forum-25-1.html 打赏捐赠:https://lnmp.org/donation.html 自定义参数 lnmp.conf配置文件,可以修改lnmp.conf自定义下…...