【Docker】03 容器操作
文章目录
- 一、流转图
- 二、基本操作
- 2.1 查看本地容器进程
- 2.2 启动容器
- 2.2.1 交互式启动容器
- 2.2.2 后台启动容器
- 2.3 进入容器
- 2.4 停止启动重启容器
- 2.5 退出容器
- 2.6 删除容器
- 2.7 提交容器(打包成镜像)
- 2.8 拷贝文件
- 2.8.1 拷贝容器内文件到宿主机
- 2.8.2 拷贝宿主机文件到容器内
- 2.9 容器日志
- 2.10 容器进程信息
- 2.11 容器元数据
- 2.12 查看容器状态
- 2.13 其他
- 三、高级操作
- 3.1 映射端口
- 3.2 挂载数据卷
- 3.2.1 自定义数据卷目录
- 3.2.2 自动数据卷目录
- 3.3 传递环境变量
- 3.4 容器内安装软件
一、流转图
二、基本操作
2.1 查看本地容器进程
#docker-ps
# -a 所有,包括运行的和已退出的
[root@server ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02b2d2343a23 hello-world "/hello" 8 days ago Exited (0) 8 days ago festive_meninsky[root@server ~]# docker ps -n 2 # 显示正在运行的容器中最新的2个
[root@server ~]# docker ps # 显示当前正在运行的容器
[root@server ~]# docker ps -q # 显示正在运行的容器ID
2.2 启动容器
#docker-run
2.2.1 交互式启动容器
-i
表示交互,-t
表示(后跟)指定伪终端
[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 run -it alpine /bin/sh
/ # ls
bin etc lib mnt proc run srv tmp var
dev home media opt root sbin sys usr
/ #
此时可看到有容器进程:
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
908b5182365c alpine "/bin/sh" 7 seconds ago Up 5 seconds interesting_bhabha
[root@server ~]#
若退出容器,则容器进程也会结束,因为容器内没有进程在运行着,且没有指定后台运行容器。
2.2.2 后台启动容器
-d
表示后台运行
[root@server ~]# docker run -td --name myalpine alpine:latest
9ce9f829f6e66b354a2b806e07d2148754fe7bb710f2e1993d46b2661833a39f
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 25 seconds ago Up 24 seconds myalpine
[root@server ~]#
2.3 进入容器
#docker-exec
进入容器时开启一个新的终端:
[root@server ~]# docker exec -it 9ce9f829f6e6 /bin/sh
/ # exit
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 5 minutes ago Up About a minute myalpine
#docker-attach
进入当前正在运行的容器终端:
[root@server ~]# docker attach 9ce9f829f6e6
2.4 停止启动重启容器
#docker-stop
#docker-start
#docker-restart
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 2 minutes ago Up 2 minutes myalpine
[root@server ~]# docker stop 9ce9f829f6e6
9ce9f829f6e6
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@server ~]# docker start 9ce9f829f6e6
9ce9f829f6e6
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 3 minutes ago Up 1 second myalpine
[root@server ~]# docker restart 9ce9f829f6e6
9ce9f829f6e6
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 3 minutes ago Up 1 second myalpine
[root@server ~]#
2.5 退出容器
exit # 容器停止并退出(容器内没有进程在运行)
Ctrl + P + Q # 容器不停止退出
2.6 删除容器
#docker-rm
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ce9f829f6e6 alpine "/bin/sh" 17 minutes ago Up 13 minutes myalpine[root@server ~]# docker rm myalpine
Error response from daemon: You cannot remove a running container 9ce9f829f6e66b354a2b806e07d2148754fe7bb710f2e1993d46b2661833a39f. Stop the container before attempting removal or force remove
[root@server ~]# docker stop myalpine
myalpine
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@server ~]# docker rm myalpine
myalpine[root@server ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
908b5182365c alpine "/bin/sh" 22 minutes ago Exited (0) 20 minutes ago interesting_bhabha
02b2d2343a23 hello-world "/hello" 8 days ago Exited (0) 8 days ago festive_meninsky
[root@server ~]#
若容器正在运行中仍要被删除,则需使用
docker rm -f
强制删除
删除已停止运行的容器中的第一个容器:
[root@server ~]# for i in `docker ps -a | grep -i exit | sed '1d' | awk '{print $1}'`;do docker rm -f $i;done
02b2d2343a23
[root@server ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
908b5182365c alpine "/bin/sh" 24 minutes ago Exited (0) 23 minutes ago interesting_bhabha
[root@server ~]#
2.7 提交容器(打包成镜像)
#docker-commit
[root@server ~]# docker start 908b5182365c
908b5182365c
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
908b5182365c alpine "/bin/sh" 36 minutes ago Up 5 minutes interesting_bhabha# 添加作者、描述,指定容器ID,加上镜像名:Tag
[root@server ~]# docker commit -a="auther" -m="this is a comment" 908b5182365c myalpine:1.0.0
sha256:9cc4b0832b11004cbca8b55dbdde69647d0851d002b3e629d9bad149a8ce5424[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myalpine 1.0.0 9cc4b0832b11 4 seconds ago 7.38MB
alpine latest f8c20f8bbcb6 5 weeks ago 7.38MB
hello-world latest d2c94e258dcb 8 months ago 13.3kB
2.8 拷贝文件
#docker-cp
2.8.1 拷贝容器内文件到宿主机
docker cp 容器id:容器内路径 宿主机目的路径docker cp 55321bcae33d:/test.java / # 拷贝到宿主机 / 根目录下
2.8.2 拷贝宿主机文件到容器内
docker cp 文件or目录名 容器ID:/路径
2.9 容器日志
#docker-logs
[root@server ~]# docker run hello-world 2>&1 >> /dev/null
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@server ~]# docker ps -a | grep hello
de258d79d2af hello-world "/hello" 18 seconds ago Exited (0) 17 seconds ago elastic_mendel
[root@server ~]# docker logs -f de258d79d2afHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/
[root@server ~]# docker logs --helpUsage: docker logs [OPTIONS] CONTAINERFetch the logs of a containerAliases:docker container logs, docker logsOptions:--details Show extra details provided to logs-f, --follow Follow log output--since string Show logs since timestamp (e.g. "2013-01-02T13:23:37Z") or relative (e.g. "42m"for 42 minutes)-n, --tail string Number of lines to show from the end of the logs (default "all")-t, --timestamps Show timestamps--until string Show logs before a timestamp (e.g. "2013-01-02T13:23:37Z") or relative (e.g. "42m"for 42 minutes)
查看倒数5行日志,并打上时间戳(-t
):
[root@server ~]# docker logs --tail 5 de258d79d2afhttps://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/[root@server ~]# docker logs --tail 5 -t de258d79d2af
2024-01-20T09:17:28.063983170Z https://hub.docker.com/
2024-01-20T09:17:28.063985026Z
2024-01-20T09:17:28.063986546Z For more examples and ideas, visit:
2024-01-20T09:17:28.063988103Z https://docs.docker.com/get-started/
2024-01-20T09:17:28.063989639Z
-f
跟踪日志:
[root@server ~]# docker run -d centos /bin/sh -c "while true;do echo helloworld;sleep 1;done"
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d9137e0fd7ea centos "/bin/sh -c 'while t…" 10 seconds ago Up 7 seconds determined_tharp
[root@server ~]# docker logs -tf -n5 d9137e0fd7ea
2024-01-20T09:23:42.471835910Z helloworld
2024-01-20T09:23:43.476544231Z helloworld
2024-01-20T09:23:44.479378544Z helloworld
2024-01-20T09:23:45.488346985Z helloworld
2024-01-20T09:23:46.491736593Z helloworld
2024-01-20T09:23:47.497556758Z helloworld
2024-01-20T09:23:48.507944232Z helloworld
2024-01-20T09:23:49.515828873Z helloworld
2.10 容器进程信息
#docker-top
查看容器中进程信息:
[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d9137e0fd7ea centos "/bin/sh -c 'while t…" About a minute ago Up About a minute determined_tharp
[root@server ~]# docker top d9137e0fd7ea
UID PID PPID C STIME TTY TIME CMD
root 29345 29325 0 17:23 ? 00:00:00 /bin/sh -c while true;do echo helloworld;sleep 1;done
root 29590 29345 0 17:25 ? 00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
2.11 容器元数据
#docker-inspect
[root@server ~]# docker inspect d9137e0fd7ea
[{"Id": "d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c","Created": "2024-01-20T09:23:24.883298959Z","Path": "/bin/sh","Args": ["-c","while true;do echo helloworld;sleep 1;done"],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 29345,"ExitCode": 0,"Error": "","StartedAt": "2024-01-20T09:23:26.389867521Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6","ResolvConfPath": "/var/lib/docker/containers/d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c/resolv.conf","HostnamePath": "/var/lib/docker/containers/d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c/hostname","HostsPath": "/var/lib/docker/containers/d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c/hosts","LogPath": "/var/lib/docker/containers/d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c/d9137e0fd7ea7799f65ba6f470723629610df41fc0735de60ff1f6ebeea2939c-json.log","Name": "/determined_tharp",...
2.12 查看容器状态
#docker-stats
[root@server ~]# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
d9137e0fd7ea determined_tharp 0.15% 3.941MiB / 846.4MiB 0.47% 656B / 0B 11.2MB / 0B 2
2.13 其他
Docker运行容器时,可设置分配CPU权重、绑核等操作。
分配CPU权重 --cpu-shares
taskset 把进程绑定到特定CPU核上
stress 压力测试
三、高级操作
拉取nginx
镜像,做好后续操作的环境准备工作:
[root@server ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
2f44b7a888fa: Pull complete
8b7dd3ed1dc3: Pull complete
35497dd96569: Pull complete
36664b6ce66b: Pull complete
2d455521f76c: Pull complete
dc9c4fdb83d6: Pull complete
8056d2bcf3b6: Pull complete
Digest: sha256:4c0fdaa8b6341bfdeca5f18f7837462c80cff90527ee35ef185571e1c327beac
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
3.1 映射端口
-p
映射端口:容器外端口 -> 容器内端口
--rm
,会在容器退出时,自动清除挂载的卷,以便清除数据
[root@server ~]# docker run --rm --name mynginx -d -p81:80 nginx[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97665eae03a1 nginx "/docker-entrypoint.…" 9 minutes ago Up 9 minutes 0.0.0.0:81->80/tcp, :::81->80/tcp mynginx
[root@server ~]#
访问Nginx
:
[root@server ~]# curl 127.0.0.1
curl: (7) Failed connect to 127.0.0.1:80; Connection refused
[root@server ~]# curl 127.0.0.1:81
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>
3.2 挂载数据卷
3.2.1 自定义数据卷目录
-v
容器外目录:容器内目录
此时容器外目录的内容会直接显示在容器内目录中
容器内目录中若存在文件,则会被清空!
[root@server ~]# mkdir /html
[root@server ~]# touch /html/index.html[root@server ~]# docker run -d --rm --name nginx_baidu -p 81:80 -v /html:/usr/share/nginx/html nginx
3c2492f1d1afee0f5d8d376c3e9991a5615138a78cd53875173d7f01fd3aeb0f[root@server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c2492f1d1af nginx "/docker-entrypoint.…" 11 seconds ago Up 10 seconds 0.0.0.0:81->80/tcp, :::81->80/tcp nginx_baidu
[root@server ~]# [root@server ~]# docker exec -it nginx_baidu /bin/sh
# ls /usr/share/nginx/html
index.html
3.2.2 自动数据卷目录
[root@server ~]# docker run -d --rm --name nginx_baidu -p 81:80 -v aaa:/usr/share/nginx/html nginx
随意命名宿主机的目录名,此时Docker会在找不到该路径后,自动在/var/lib/docker/volumes/
下创建数据卷,同时将容器内映射目录中的内容全部复制到该自动创建的数据卷目录中;多个容器可同时共享该数据卷。
3.3 传递环境变量
-e XXX=yyy
[root@server ~]# docker run --rm -e OPS=abcdef nginx printenv
HOSTNAME=dfb69fa2b394
HOME=/root
PKG_RELEASE=1~bookworm
NGINX_VERSION=1.25.3
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NJS_VERSION=0.8.2
OPS=abcdef
PWD=/
3.4 容器内安装软件
[root@server ~]# docker exec -it 3c2492f1d1af /bin/bash
root@3c2492f1d1af:/# apt-get install wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package wget # 报错:无法找到wget软件,此时就需要更新updateroot@3c2492f1d1af:/# apt-get update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8787 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [12.7 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [134 kB]
Fetched 9185 kB in 3s (2632 kB/s)
Reading package lists... Doneroot@3c2492f1d1af:/# apt-get install wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:wget
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 984 kB of archives.
After this operation, 3692 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 wget amd64 1.21.3-1+b2 [984 kB]
Fetched 984 kB in 2s (484 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package wget.
(Reading database ... 7590 files and directories currently installed.)
Preparing to unpack .../wget_1.21.3-1+b2_amd64.deb ...
Unpacking wget (1.21.3-1+b2) ...
Setting up wget (1.21.3-1+b2) ...
相关文章:
【Docker】03 容器操作
文章目录 一、流转图二、基本操作2.1 查看本地容器进程2.2 启动容器2.2.1 交互式启动容器2.2.2 后台启动容器 2.3 进入容器2.4 停止启动重启容器2.5 退出容器2.6 删除容器2.7 提交容器(打包成镜像)2.8 拷贝文件2.8.1 拷贝容器内文件到宿主机2.8.2 拷贝宿…...
【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章
Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件,是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window:用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…...
什么是芯片委外管理系统? 及其主要作用
随着半导体产业的飞速发展,芯片制造企业面临着日益复杂的生产和管理挑战。为了应对这些挑战,许多企业选择将部分生产环节委托给外部厂商进行,这种合作模式被称为“委外加工”。而为了有效地管理和协调这一合作模式,便诞生了“芯片…...
【实战-08】 flink自定义Map中的变量的行为
场景 自定义Map或者别的算子的时候,有时候需要定义一些类变量,在flink内部高并发的情况下需要正确理解这些变量的行为 代码 package com.pg.function;import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common…...
Docker Volume
"Ice in my vein" Docker Volume(存储卷) 什么是存储卷? 存储卷就是: “将宿主机的本地文件系统中存在的某个目录,与容器内部的文件系统上的某一目录建立绑定关系”。 存储卷与容器本身的联合文件系统? 在宿主机上的这个与容器形成绑定关系…...
开源计算机视觉库OpenCV常用的API介绍
阅读本文之前请参阅-----开源计算机视觉库OpenCV详细介绍 OpenCV(开源计算机视觉库)是一个跨平台的计算机视觉和机器学习软件库,它提供了大量的API(应用程序编程接口),用于处理图像和视频分析、对象检测、面…...
pytorch -- torch.nn下的常用损失函数
1.基础 loss function损失函数:预测输出与实际输出 差距 越小越好 - 计算实际输出和目标之间的差距 - 为我们更新输出提供依据(反向传播) 1. L1 torch.nn.L1Loss(size_averageNone, reduceNone, reduction‘mean’) 2. 平方差(…...
daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具
daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具 基于java fx写的一款支持加载自定义poc文件的、可扩展的的图形化渗透测试框架。支持批量漏洞扫描、漏洞利用、结果导出等功能。 使用 经过测试,项目可在jdk8环境下正常使用。jdk11因为缺少一些必要的组件,所以jdk11版本工…...
无法访问云服务器上部署的Docker容器(二)
说明:记录一次使用公网IP 接口地址无法访问阿里云服务接口的问题; 描述 最近,我使用Docker部署了jeecg-boot项目,部署过程都没有问题,也没有错误信息。部署完成后,通过下面的地址访问后端Swagger接口文档…...
在Pycharm中运行Django项目如何指定运行的端口
方法步骤: 打开 PyCharm,选择你的 Django 项目。在菜单栏中,选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中,选择你的 Django server 配置(如果没有,你…...
Android将 ViewBinding封装到BaseActivity基类中(Java版)
在Android中使用Java语言将ViewBinding封装到基类中,操作步骤如下: 1、在项目的build.gradle文件中启用了ViewBinding,添加以下代码: android {...buildFeatures {viewBinding true} } 2、创建一个名为“BaseActivity”的基类&…...
JSP实现数据传递与保存(一)
一、Web开发步骤 1.1两类模式 后端——————前端 先有前端,前端用的时候直接调用 后端已实现注册接口,接口名为doRegister.jsp 前端此时: 前端的form表单中的action提交地址就只能填doRegister.jsp,即: <f…...
【论文笔记之 YIN】YIN, a fundamental frequency estimator for speech and music
本文对 Alain de Cheveigne 等人于 2002 年在 The Journal of the Acoustical Society of America 上发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载,但请务必注明出处。 论文链接:http://audition.ens.fr/adc/pdf/2002_…...
水印相机小程序源码
水印相机前端源码,本程序无需后端,前端直接导入即可,没有添加流量主功能,大家开通后自行添加 源码搜索:源码软件库 注意小程序后台的隐私权限设置,前端需要授权才可使用 真实时间地址拍照记录,…...
NXP实战笔记(八):S32K3xx基于RTD-SDK在S32DS上配置LCU实现ABZ解码
目录 1、概述 2、SDK配置 2.1、IO配置 2.2、TRGMUX配置 2.3、LCU配置 2.4、Trgmux配置 2.5、Emios配置 2.6、代码实现 1、概述 碰到光电编码器、磁编码器等,有时候传出来的位置信息为ABZ的方式,在S32K3里面通过TRGMUX、LCU、Emios结合的方式可以实现ABZ解码。 官方…...
【深度好文】simhash文本去重流程
对于类似于头条客户端而言,推荐的每一刷的新闻都必须是不同的新闻,这就需要对新闻文本进行排重。传统的去重一般是对文章的url链接进行排重,但是对于抓取的网页来说,各大平台的新闻可能存在重复,对于只通过文章url进行排重是不靠谱的,为了解决这个痛点于是就提出了用simh…...
主流的开发语言和开发环境介绍
个人浅见,不喜勿喷,谢谢 软件开发是一个涉及多个方面的复杂过程,其中包括选择合适的编程语言和开发环境。编程语言是软件开发的核心,它定义了程序员用来编写指令的语法和规则。而开发环境则提供了编写、测试和调试代码的工具和平台…...
List去重有几种方式
目录 1、for循环添加去重 2、for 双循环去重 3、for 双循环重复坐标去重 4、Set去重 5、stream流去重 1、for循环添加去重 List<String> oldList new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四&q…...
使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计
一个简易的控制台程序,使用C#NPOI进行Excel处理,实现多个Excel文件的求和统计。 前提: 待统计的Excel格式相同统计结果表与待统计的表格格式一致 引入如下四个动态库: 1. NPOI.dll 2. NPOI.OOXML.dll 3. NPOI.OpenXml4Net.dll …...
华清远见嵌入式学习——驱动开发——day9
目录 作业要求: 作业答案: 代码效果: 编辑 Platform总线驱动代码: 应用程序代码: 设备树配置: 作业要求: 通过platform总线驱动框架编写LED灯的驱动,编写应用程序测试&…...
formality:set_constant应用
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章链接: formality:形式验证流程 scan mode func的功能检查需要把scan mode设置成0。...
sqllabs的order by注入
当我们在打开sqli-labs的46关发现其实是个表格,当测试sort等于123时,会根据列数的不同来进行排序 我们需要利用这个点来判断是否存在注入漏洞,通过加入asc 和desc判断页面有注入点 1、基于使用if语句盲注 如果我们配合if函数,表达…...
《The Art of InnoDB》第二部分|第4章:深入结构-磁盘结构-redo log
4.3 redo log 目录 4.3 redo log 4.3.1 redo log 介绍 4.3.2 redo log 的作用 4.3.3 redo log file 结构 4.3.4 redo log 提交逻辑 4.3.5 redo log 持久化逻辑 4.3.6 redo log 检查点 4.3.7 小结...
大模型安全相关论文
LLM对于安全的优势 “Generating secure hardware using chatgpt resistant to cwes,” Cryptology ePrint Archive, Paper 2023/212, 2023评估了ChatGPT平台上代码生成过程的安全性,特别是在硬件领域。探索了设计者可以采用的策略,使ChatGPT能够提供安…...
回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测
回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测预测效果基本描述程序设计参考资料 预测效果…...
[算法沉淀记录] 排序算法 —— 堆排序
排序算法 —— 堆排序 算法基础介绍 堆排序(Heap Sort)是一种基于比较的排序算法,它利用堆这种数据结构来实现排序。堆是一种特殊的完全二叉树,其中每个节点的值都必须大于或等于(最大堆)或小于或等于&am…...
C++ //练习 9.33 在本节最后一个例子中,如果不将insert的结果赋予begin,将会发生什么?编写程序,去掉此赋值语句,验证你的答案。
C Primer(第5版) 练习 9.33 练习 9.33 在本节最后一个例子中,如果不将insert的结果赋予begin,将会发生什么?编写程序,去掉此赋值语句,验证你的答案。 环境:Linux Ubuntu࿰…...
[corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
前言 题目来源:竞赛官网 – 建议这里下载,文件系统/带符号的 vmlinux 给了 参考 [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape Exploiting poll_list Objects In The Linux Kernel – 原作者文章,poll_list 利用方式…...
thinkphp6定时任务
这里主要是教没有用过定时任务没有头绪的朋友, 定时任务可以处理一些定时备份数据库等一系列操作, 具体根据自己的业务逻辑进行更改 直接上代码 首先, 是先在 tp 中的 command 方法中声明, 如果没有就自己新建一个, 代码如下 然后就是写你的业务逻辑 执行定时任务 方法写好了…...
支持国密ssl的curl编译和测试验证(上)
目录 1. 编译铜锁ssl库2. 编译nghttp2库3. 编译curl4. 验证4.1 查看版本信息4.2 验证国密ssl握手功能4.3 验证http2协议功能 以下以ubuntu 22.04环境为例进行编译 本次编译采用铜锁sslnghttp2curl,使得编译出来的curl可以支持国密ssl,并且可以支持http2…...
wordpress 边框线/网站百度收录要多久
满意答案fate夏陌2017.06.02采纳率:40% 等级:9已帮助:16人展开全部 首先、仿真时间要设置好,时间太长了就会一直等着。第二、变步长解法器也要设置第三、变步长的最大值也要设置当然越小越好,但是太小了会仿真的时间…...
大气企业网站源码/下载百度语音导航地图
继续更新设计模式系列。写这个模式的主要原因是近期看到了动态代理的代码。 先来回想一下前5个模式: - Android开发中无处不在的设计模式——单例模式 - Android开发中无处不在的设计模式——Builder模式 - Android开发中无处不在的设计模式——观察者模式 - A…...
nginx 做udp网站/上海网站搜索引擎优化
官方给出的智能合约示例是一个投票程序,候选人candidate的数据类型是Bytes32。利用java SDK调用合约的 voteForCandidate(bytes32 candidate) 接口,发现一个问题: 我输入的参数“simmel”是string类型,而SDK中不提供将string类型…...
建站开发软件/seo网站推广助理
编译安装mysql-5.7.17 1.打开官方网站下载最新的mysql-5.7.17源码包 注意:选择源码下载 2.在自定义目录保存 boost/mysql 或者mysql-boost https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz http://sourceforge.net/projects/boost/files/…...
wap网站模式/百度旧版本
Windows 下 PHP 开发环境配置系列一(PHPApacheMySql; Zend DebuggerPDT) 软件的下载地址在系列一中有列出 1. 需安装软件 PHP: php-5.2.17-Win32-VC6-x86.zip Apache: httpd-2.2.21-win32-x86-no_ssl.msi MYSQL: mysql-5.5.12-win32.msi MODx: modx-2.1.5-pl.zip 下载地址 http…...
网站改版后百度不收录/上海网络推广软件
在窗体属性中有个EnableGlass属性,设置为False即可。...