容器运行应用及Docker命令
文章目录
- 一、使用容器运行Nginx应用
- 1_使用docker run命令运行Nginx应用
- 1 观察下载容器镜像过程
- 2 观察容器运行情况
- 2_访问容器中运行的Nginx服务
- 1 确认容器IP地址
- 2 容器网络说明
- 3 使用curl命令访问
- 二、Docker命令
- 1_Docker命令获取帮助方法
- 2_Docker官网提供的命令说明
- 3_docker命令应用
- 1 docker run
- 2 docker ps
- 3 docker inspect
- 4 docker exec
- 5 docker attach
- 6 docker stop
- 7 docker start
- 8 docker top
- 9 docker rm
一、使用容器运行Nginx应用
1_使用docker run命令运行Nginx应用
1 观察下载容器镜像过程
查找本地容器镜像文件
执行命令过程一:下载容器镜像
[root@localhost ~]# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading 1.966MB/31.36MB 下载中
a9edb18cadd1: Downloading 1.572MB/25.35MB
589b7251471a: Download complete 下载完成
186b1aaa4aa6: Download complete
b4df32aa5a72: Waiting 等待下载
a0bcbecc962e: Waiting
执行命令过程二:下载容器镜像
[root@localhost ~]# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading 22.87MB/31.36MB
a9edb18cadd1: Downloading 22.78MB/25.35MB
589b7251471a: Waiting
186b1aaa4aa6: Waiting
b4df32aa5a72: Waiting
执行命令过程三:下载容器镜像
[root@localhost ~]# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 下载完成
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Waiting 等待下载
2 观察容器运行情况
[root@localhost ~]# docker run -d nginx:latest
9834c8c18a7c7c89ab0ea4119d11bafe9c18313c8006bc02ce57ff54d9a1cc0c
命令解释 | 说明 |
---|---|
docker run | 启动一个容器 |
-d | 把容器镜像中需要执行的命令以daemon(守护进程)的方式运行 |
nginx | 应用容器镜像的名称,通常表示该镜像为某一个软件 |
latest | 表示上述容器镜像的版本,表示最新版本,用户可自定义其标识,例如v1或v2等 |
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9834c8c18a7c nginx:latest "/docker-entrypoint.…" 24 seconds ago Up 23 seconds 80/tcp condescending_pare
命令解释
docker ps
类似于Linux系统的ps
命令,查看正在运行的容器,如果想查看没有运行的容器,需要在此命令后使用--all
输出内容解释
CONTAINERID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
9834c8c18a7c | nginx:latest | “/docker-entrypoint.…” | 24 seconds ago | Up 23 seconds | 80/tcp | condescending_pare |
容器ID | 容器镜像 | 容器中运行的命令 | 容器创建时间 | 容器状态 | 容器提供访问应用端口 | 容器名称 |
2_访问容器中运行的Nginx服务
1 确认容器IP地址
实际工作中不需要此步操作,9834 是容器ID缩写。
[root@localhost ~]# docker inspect 9834c8c18a7c"GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.2", 容器IP地址"IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:02","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "d3de2fdbc30ee36a55c1431ef3ae4578392e552009f00b2019b4720735fe5a60","EndpointID": "d91f47c9f756ff22dc599a207164f2e9366bd0c530882ce0f08ae2278fb3d50c","Gateway": "172.17.0.1","IPAddress": "172.17.0.2", 容器IP地址"IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:02","DriverOpts": null}}}}
]
命令解释
docker inspect
为查看容器结构信息命令
9834
为前面生成的容器ID号前4位,使用这个ID号时,由于其较长,使用时能最短识别即可。
2 容器网络说明
查看系统网络接口信息
ip a s # ip addr show
docker0
网桥,用于为容器提供桥接,转发到主机之外的网络
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group defaultlink/ether 02:42:d5:c3:d4:cc brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:d5ff:fec3:d4cc/64 scope linkvalid_lft forever preferred_lft forever
与容器中的虚拟网络设备在同一个命名空间中,用于把容器中的网络连接到主机
9: veth393dece@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group defaultlink/ether 02:e3:11:58:54:0f brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::e3:11ff:fe58:540f/64 scope linkvalid_lft forever preferred_lft forever
3 使用curl命令访问
返回结果,表示访问成功!
[root@localhost ~]# curl 172.17.0.2
<!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>
二、Docker命令
1_Docker命令获取帮助方法
[root@localhost ~]# docker -h
Flag shorthand -h has been deprecated, use --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersCommon Commands:run Create and run a new container from an imageexec Execute a command in a running containerps List containersbuild Build an image from a Dockerfilepull Download an image from a registrypush Upload an image to a registryimages List imageslogin Authenticate to a registrylogout Log out from a registrysearch Search Docker Hub for imagesversion Show the Docker version informationinfo Display system-wide informationManagement Commands:builder Manage buildsbuildx* Docker Buildxcompose* Docker Composecontainer Manage containerscontext Manage contextsimage Manage imagesmanifest Manage Docker image manifests and manifest listsnetwork Manage networksplugin Manage pluginssystem Manage Dockertrust Manage trust on Docker imagesvolume Manage volumesSwarm Commands:swarm Manage SwarmCommands:attach Attach local standard input, output, and error streams to a running containercommit Create a new image from a container's changescp Copy files/folders between a container and the local filesystemcreate Create a new containerdiff Inspect changes to files or directories on a container's filesystemevents Get real time events from the serverexport Export a container's filesystem as a tar archivehistory Show the history of an imageimport Import the contents from a tarball to create a filesystem imageinspect Return low-level information on Docker objectskill Kill one or more running containersload Load an image from a tar archive or STDINlogs Fetch the logs of a containerpause Pause all processes within one or more containersport List port mappings or a specific mapping for the containerrename Rename a containerrestart Restart one or more containersrm Remove one or more containersrmi Remove one or more imagessave Save one or more images to a tar archive (streamed to STDOUT by default)start Start one or more stopped containersstats Display a live stream of container(s) resource usage statisticsstop Stop one or more running containerstag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGEtop Display the running processes of a containerunpause Unpause all processes within one or more containersupdate Update configuration of one or more containerswait Block until one or more containers stop, then print their exit codesGlobal Options:--config string Location of client config files (default "/root/.docker")-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")-D, --debug Enable debug mode-H, --host list Daemon socket to connect to-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")--tls Use TLS; implied by --tlsverify--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")--tlskey string Path to TLS key file (default "/root/.docker/key.pem")--tlsverify Use TLS and verify the remote-v, --version Print version information and quitRun 'docker COMMAND --help' for more information on a command.For more help on how to use Docker, head to https://docs.docker.com/go/guides/
2_Docker官网提供的命令说明
网址链接:https://docs.docker.com/reference/
3_docker命令应用
1 docker run
docker run -i -t --name c1 centos:latest bash
[root@948f234e22a1 /]#
命令 | 解释 |
---|---|
docker run | 运行一个命令在容器中,命令是主体,没有命令容器就会消亡 |
-i | 交互式 |
-t | 提供终端 |
–name c1 | 把将运行的容器命名为c1 |
centos:latest | 使用centos最新版本容器镜像 |
bash | 在容器中执行的命令 |
注意看主机名
[root@948f234e22a1 /]#
查看网络信息
[root@948f234e22a1 /]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
12: eth0@if13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group defaultlink/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft forever
查看进程
[root@948f234e22a1 /]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 12036 2172 pts/0 Ss 09:58 0:00 bash
root 16 0.0 0.0 44652 1784 pts/0 R+ 10:02 0:00 ps aux
查看用户
[root@948f234e22a1 /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
查看目录(跟我们系统基本一样)
[root@948f234e22a1 /]# pwd
/
[root@948f234e22a1 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
退出命令执行,观察容器运行情况
[root@948f234e22a1 /]# exit
exit
[root@localhost ~]#
2 docker ps
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
命令解释
docker ps 查看正在运行的容器,本案例由于没有命令在容器中运行,因此容器被停止了,所以本次查看没有结果。
[root@localhost ~]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
948f234e22a1 centos:latest "bash" 10 minutes ago Exited (0) 2 minutes ago c1
CONTAINERID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
948f234e22a1 | centos:latest | “bash” | 10 minutes ago | Exited (0) 2 minutes ago | c1 |
命令解释
docker ps --all
可以查看正在运行的和停止运行的容器
3 docker inspect
[root@localhost ~]# docker run -it --name c2 centos:latest bash
[root@b4182fd1f2cc /]#
操作说明
在上述提示符处按住ctrl
键,再按p
键与q
键,可以退出交互式的容器,容器会处于运行状态。
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" About a minute ago Up About a minute c2
命令解释
可以看到容器处于运行状态
[root@localhost ~]# docker inspect c2
"Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "d3de2fdbc30ee36a55c1431ef3ae4578392e552009f00b2019b4720735fe5a60","EndpointID": "d1a2b7609f2f73a6cac67229a4395eef293f695c0ac4fd6c9c9e6913c9c85c1c","Gateway": "172.17.0.1","IPAddress": "172.17.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:02","DriverOpts": null}}}}
]
命令解释
docker inpect 查看容器详细信息
4 docker exec
[root@localhost ~]# docker exec -it c2 ls /root
anaconda-ks.cfg anaconda-post.log original-ks.cfg
命令 | 解释 |
---|---|
docker exec | 在容器外实现与容器交互执行某命令 |
-it | 交互式 |
c2 | 正在运行的容器名称 |
ls /root | 在正在运行的容器中运行相关的命令 |
下面命令与上面命令执行效果一致
[root@localhost ~]# docker exec c2 ls /root
anaconda-ks.cfg
anaconda-post.log
original-ks.cfg
5 docker attach
查看正在运行的容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 8 minutes ago Up 8 minutes c2
ef02ada6ba49 nginx:latest "/docker-entrypoint.…" 2 hours ago Up 4 seconds 80/tcp cool_bardeen
进入容器内部
[root@localhost ~]# docker attach c2
[root@b4182fd1f2cc /]#
命令 | 解释 |
---|---|
docker attach | 类似于ssh命令,可以进入到容器中 |
c2 | 正在运行的容器名称 |
说明
docker attach 退出容器时,如不需要容器再运行,可直接使用exit退出;如需要容器继续运行,可使用ctrl+p+q
另外由于另外一个 nginx 容器并不是交互式的,所以不允许我们进入内部,如果尝试的话会卡住
docker attach cool_bardeen # 卡住,并且Ctrl+c退出时容器也会随之停止
6 docker stop
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 11 minutes ago Up 11 minutes c2
[root@localhost ~]# docker stop b4182
b4182
[root@localhost ~]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 12 minutes ago Exited (0) 28 seconds ago c2
支持批量停止以及使用容器名称
7 docker start
[root@localhost ~]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 12 minutes ago Exited (0) 28 seconds ago c2
[root@localhost ~]# docker start b4182
b4182
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 14 minutes ago Up 16 seconds c2
还可以批量开启,以及使用容器名称代替容器ID
8 docker top
在Docker Host查看容器中运行的进程信息
docker top c2
如下输出
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
---|---|---|---|---|---|---|---|
root | 394835 | 394784 | 0 | 18:37 | pts/0 | 00:00:00 | bash |
命令解释
输出信息 | 说明 |
---|---|
UID | 容器中运行的命令用户ID |
PID | 容器中运行的命令PID |
PPID | 容器中运行的命令父PID,由于PPID是一个容器,此可指为容器在Docker Host中进程ID |
C | 占用CPU百分比 |
STIME | 启动时间 |
TTY | 运行所在的终端 |
TIME | 运行时间 |
CMD | 执行的命令 |
[root@localhost ~]# ps aux | grep 394784
root 394784 0.0 0.4 1237928 15756 ? Sl 05:43 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b4182fd1f2ccfea5799bd63206ed562c38e53b18c93def3a56262fd73122e8ab -address /run/containerd/containerd.sock
root 408828 0.0 0.0 221680 2304 pts/0 S+ 05:47 0:00 grep --color=auto 394784
[root@localhost ~]# ps aux | grep 394835
root 394835 0.0 0.0 12052 3200 pts/0 Ss+ 05:43 0:00 bash
root 399829 0.0 0.0 221680 2304 pts/0 S+ 05:44 0:00 grep --color=auto 394835
[root@localhost ~]# docker exec -it c2 ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 21:43 pts/0 00:00:00 bash
root 14 0 0 21:45 pts/1 00:00:00 ps -ef
docker top 查看container内进程信息,指在docker host上查看,与
docker exec -it c2 ps -ef
不同。另外一个容器中运行多个进程也是存在的,可以尝试去访问 nginx 看看。
9 docker rm
如果容器已停止,使用此命令可以直接删除;如果容器处于运行状态,则需要提前关闭容器后,再删除容器。
下面演示容器正在运行关闭后删除的方法。
指定删除容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4182fd1f2cc centos:latest "bash" 30 minutes ago Up 16 minutes c2
停止容器
docker stop c2 # 或 docker stop b4182fd1f2cc
删除容器
docker rm c2 # 或 docker rm b4182fd1f2cc
批量删除容器
-a
与 --all
是等价的
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bd60ca310ca centos:latest "bash" About an hour ago Exited (127) 48 minutes ago c1
c71fb30f25da nginx:latest "/docker-entrypoint.…" 2 hours ago Exited (0) 2 hours ago zen_swirles
ef02ada6ba49 nginx:latest "/docker-entrypoint.…" 2 hours ago Exited (0) 20 minutes ago cool_bardeen
批量删除容器:
docker ps --all | awk '{if (NR>=2){print $1}}' | xargs docker rm
上述命令可以把第一个命令执行的结果看作文本作为 awk 输入;awk 将从第二行开始,每行的第一个元素(元素以空格作为分隔)输出作为 xargs 的输入。
相关文章:
容器运行应用及Docker命令
文章目录 一、使用容器运行Nginx应用1_使用docker run命令运行Nginx应用1 观察下载容器镜像过程2 观察容器运行情况 2_访问容器中运行的Nginx服务1 确认容器IP地址2 容器网络说明3 使用curl命令访问 二、Docker命令1_Docker命令获取帮助方法2_Docker官网提供的命令说明3_docker…...
PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images
全文摘要 本文介绍了一种名为PETRv2的统一框架,用于从多视图图像中进行三维感知。该框架基于先前提出的PETR框架,并探索了时间建模的有效性,利用前一帧的时间信息来提高三维物体检测效果。作者在PETR的基础上扩展了三维位置嵌入(…...
Python库常用函数-数据分析
Python库常用函数 1.pandas库 (1)数据读取与写入 读取 CSV 文件: data pd.read_csv(file.csv)读取 Excel 文件: data pd.read_excel(file.xlsx, sheet_nameSheet1)写入 CSV 文件: data.to_csv(new_file.csv, ind…...
【机器学习】机器学习的基本分类-监督学习-随机森林(Random Forest)
随机森林是一种基于集成学习(Ensemble Learning)思想的算法,由多个决策树构成。它通过结合多棵决策树的预测结果来提升模型的泛化能力和准确性,同时减少过拟合的风险。 1. 随机森林的核心思想 多样性: 随机森林通过引…...
Java入门:22.集合的特点,List,Set和Map集合的使用
1 什么是集合 本质就是容器的封装,可以存储多个元素 数组一旦创建,长度就不能再改变了。 数组一旦创建,存储内容的类型不能改变。 数组可以存储基本类型,也可以存储引用类型。 数组可以通过length获得容量的大小,但…...
Web3与区块链如何通过智能合约实现自动化生态?
Web3和区块链正在重塑互联网的未来,其核心在于去中心化和用户数据自主权。而作为区块链技术的重要组成部分,智能合约通过自动执行预设规则,大大提升了效率和安全性。本文将探讨Web3与区块链如何通过智能合约实现生态的自动化。 什么是智能合约…...
排序算法入门:分类与基本概念详解
引言 排序是编程世界中最常见的操作之一,也是许多算法的基础。不管是从数据中找出最大值还是将一堆乱序的名字整理得井井有条,排序算法都在幕后默默工作。你可能会觉得排序很简单:从小到大排个序而已嘛。但当数据量大到上百万、上亿…...
【Spring Cloud 微服务的简单概述】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
稳定运行的以Azure Synapse Dedicated SQL Pool数据仓库为数据源和目标的ETL性能变差时提高性能方法和步骤
在Azure Synapse Dedicated SQL Pool(以前称为SQL Data Warehouse)的ETL性能变差时,可以通过以下方法和步骤来提高性能: 1. 分析和监控性能瓶颈 查看执行计划:使用SQL的SET STATISTICS IO ON和SET STATISTICS TIME O…...
可供参考的GitHub国内镜像
在配置了本地hosts文件和魔法后仍存在无法访问的问题 针对如上问题,可以使用国内的镜像地址做替换 例如: https://github.com/bubbliiiing/detr-pytorch改成 https://hub.nuaa.cf/bubbliiiing/detr-pytorch推荐使用的镜像 https://hub.yzuu.cf/ https://hub.nua…...
统计中间件稳定性指标
目前订单业务域涉及中间件:MySQL、Redis、TiDB、MQ、ES。(遗漏项请补充) 一、RDS 资源使用率 实例ID实例名称规格maxCPUavgCPUmaxDISKmaxIOPSavgIOPS活跃会话maxTPSavgTPSmaxQPSavgQPS实例风险 慢查询 慢查询会消耗大量的系统资源&#x…...
Qt Quick开发基础+实战(持续更新中…)
最近更新日期:2024/12/4 一、Qt Quick简介 写在前面: 本篇文章虽然只是作为我的学习笔记,但也作为我日后复习之用,所以会认真并详细记录,但会分重点。 1.3 新建Qt Quick Application工程 这节主要讲2个知识点&#x…...
FPGA Xilinx维特比译码器实现卷积码译码
FPGA Xilinx维特比译码器实现卷积码译码 文章目录 FPGA Xilinx维特比译码器实现卷积码译码1 Xilinx维特比译码器实现2 完整代码3 仿真结果 MATLAB (n,k,m)卷积码原理及仿真代码(你值得拥有)_matlab仿真后代码-CSDN博客 MATLAB 仿真…...
数据结构初阶1 时间复杂度和空间复杂度
本章重点 算法效率时间复杂度空间复杂度常见时间复杂度以及复杂度OJ练习 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢?比如对于以下斐波那契数列: long long Fib(int N) { if(N < 3) return 1;return Fib(N-1) Fib(N-2); }斐…...
基于Matlab计算机视觉的车道线识别与前车检测系统研究
随着自动驾驶技术的发展,车道线识别和前车检测成为智能驾驶系统中的核心技术之一。本实训报告围绕基于计算机视觉的车道线识别与前车检测系统展开,旨在通过处理交通视频数据,实时检测车辆所在车道及其与前车的相对位置,从而为车道…...
刷蓝桥杯历年考题(更新至15届~)
第十五届 CA组省赛 AcWing5980.训练士兵 方法一:树状数组:O(nlogn) self-complete /*先枚举组团,后分析每个士兵,有一个特点,组团费用是固定的,那当然是让所有士兵一块训练,训练完的士兵也不会有损失当还…...
Stream API来提取两个字符串字段
如果您有一个包含对象的List,并且想要使用Java 8的Stream API来提取两个字符串字段,然后将这些字段的值连接成一个以逗号隔开的单个字符串或者集合List,您可以按照以下步骤操作: 假设您有一个Person类,其中包含两个字…...
《无畏契约》运行时提示“d3dcompiler_43.dll丢失”是什么原因?“找不到d3dcompiler_43.dll文件”如何解决?
《无畏契约》运行时提示“d3dcompiler_43.dll丢失”是什么原因?“找不到d3dcompiler_43.dll文件”如何解决? 作为一位软件开发从业者,我深知在游戏运行过程中,遇到各种文件丢失、文件损坏和系统报错等问题是多么令人头疼。今天&a…...
社群分享在商业引流与职业转型中的作用:开源 AI 智能名片 2+1 链动模式小程序的应用契机
摘要:本文聚焦于社群分享在商业领域的重要性,阐述其作为干货诱饵在引流方面的关键意义。详细探讨了提供有价值干货的多种方式,包括文字分享、问题解答以及直播分享等,并分析了直播分享所需的条件。同时,以自身经历为例…...
芯食代冻干科技研究院:创新与品质并重,推动家用冻干机高质量发展
11月25日,芯食代首届食品冻干前沿与智能化升级创新大会在江苏常州成功举办。本次大会由芯食代冻干科技研究院(江苏)有限公司与芯食代(上海)科技发展有限公司联合主办,云集学界专家教授、商界企业精英,共议家用冻干机的未来创新发展。作为创新大会,芯食代冻干科技研究院也在本次…...
【C++】栈和队列的模拟实现(适配器模式)
不论是C语言还是C,我们都用其对应的传统写法对栈和队列进行了模拟实现,现在我们要用新的方法模拟实现栈和队列,这个新方法就是适配器模式。 C语言传统写法: C语言模拟实现栈 C传统写法:C模拟实现栈 1.容器适配器 …...
CSS过渡练习-进度条(12)
该进度条先需要一个大盒子和一个小盒子,然后给大盒子与小盒子加style,看进度到多少就是百分之多少;如果要进度条从百分之五十到满格的话就加一个hover的样式(鼠标移到链接上时添加的特殊样式),然后是想要进…...
青动CRM系统PHP+Uniapp
全面解决企业销售团队的全流程客户服务难题,旨在助力企业销售全流程精细化、数字化管理,全面解决企业销售团队的全流程客户服务难题,帮助企业有效盘活客户资源、量化销售行为,合理配置资源、建立科学销售体系,提升销售业绩。 青动…...
word如何快速创建目录?
文章目录 1,先自己写出目录的各级标题。2、选中目标标题,然后给它们编号3、给标题按照个人需求开始分级4、插入域构建目录。4.1、利用快捷键插入域构建目录4.2、手动插入域构建目录 听懂掌声!学会了吗? 前提声明:我在此…...
【机器学习】机器学习的基本分类-监督学习-决策树-CART(Classification and Regression Tree)
CART(Classification and Regression Tree) CART(分类与回归树)是一种用于分类和回归任务的决策树算法,提出者为 Breiman 等人。它的核心思想是通过二分法递归地将数据集划分为子集,从而构建一棵树。CART …...
使用GDI对象绘制UI时需要注意的若干细节问题总结
目录 1、一个bitmap不能同时被选进两个dc中 2、CreateCompatibleDC和CreateCompatibleBitmap要使用同一个dc作为参数 3、不能删除已经被选入DC中的GDI对象 4、使用完的GDI对象,要将之释放掉,否则会导致GDI对象泄漏 5、CreateCompatibleBitmap返回错…...
C++:std::fstream详细介绍
std::fstream 是 C 标准库中的一个类,用于处理文件的输入输出操作。它可以同时进行文件的读和写操作,因此被称为“文件流”(File Stream)。它是 C 输入输出流库 iostream 的一部分,继承了 std::istream 和 std::ostrea…...
ndp协议简介
在IPv6中,ARP(地址解析协议)被替代为邻居发现协议(Neighbor Discovery Protocol,NDP)。NDP是IPv6网络中用于发现邻居节点(相邻设备)的协议,类似于IPv4中的ARP。但与ARP不…...
915DEBUG-obsidianTemplater使用
Templater使用 tp函数不正常显示相应数据 模板使用方式不正确 <% tp.date.now("YYYY-MM-DD") %> 应该被放置在一个被Templater识别为模板的文件中,或者在你使用Templater的插入模板功能时输入。如果只是在一个普通的Markdown文件中直接输入这段代码…...
【Linux篇】权限管理 - 用户与组权限详解
一. 什么是权限? 首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性 二. 认识人–用户 Linux下的用户分为超级用户和普通用户 root :超级管理员,几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是#,普通用…...
JWT 在 SaaS 系统中的作用与分布式 SaaS 系统设计的最佳实践
在现代 SaaS(软件即服务) 系统中,随着服务规模的扩大和用户需求的多样化,如何高效、安全地进行用户身份验证、权限控制以及租户隔离,成为了系统架构中的核心问题之一。**JWT(JSON Web Token)**作…...
docker更换容器存储位置
一:原因 今天之前在某个服务器上使用docker搭建的服务突然无法访问了,进入服务器查看发现服务运行正常,但是就是无法使用,然后我这边准备将docker服务重新启动下看看,发现docker服务无法重启,提示内存已满…...
gitlab-cicd部署安装与具体操作
一、安装 本例中是用安装包直接在ubuntu下安装的,也可以用docker镜像。 curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_amd64.rpmrpm -i gitlab-runner_amd64.rpm 安装runner后,需要跟在runner所在服务器安装…...
基于MFC实现的人机对战五子棋游戏
基于MFC实现的人机对战五子棋游戏 1、引言 此报告将详细介绍本次课程设计的动机、设计思路及编写技术的详细过程,展现我所学过的C知识以及我通过本次课程设计所学到例如MFC等知识。在文档最后我也会记录我所编写过程遇到的问题以及解决方案。 1.1 背景 五子棋是…...
mac电脑多个ssh keys共存
一、同一台电脑,不同域名的git仓库为什么要设置不同的ssh keys? 每个git仓库通常要求使用唯一的ssh key,以防止权限冲突和安全问题。 权限控制:每个git仓库的权限是独立的,使用不同的ssh keys可以更好的管理权限&…...
Elasticsearch数据迁移(快照)
1. 数据条件 一台原始es服务器(192.168.xx.xx),数据迁移后的目标服务器(10.2.xx.xx)。 2台服务器所处环境: centos7操作系统, elasticsearch-7.3.0。 2. 为原始es服务器数据创建快照 修改elas…...
【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构,在众多编程场景中都有着独特的地位。它们为数据的有序…...
使用ensp搭建内外互通,使用路由跨不同vlan通信。
1.网络拓扑图 2.规则 (1)允许 (自己)ping通内外网,内外网随便一个pc就可以. (2) 允许(电信)ping通内外网,内外网随便一个pc就可以 (时间问题不做…...
URDF 发布者
URDF 发布者 #! /usr/bin/env python3 import rclpy from rclpy.node import Node import rclpy.parameter from sensor_msgs.msg import JointState from rcl_interfaces.msg import SetParametersResultimport threading import timeclass RotateWheelNode(Node):def __init…...
用于目标检测的集中式特征金字塔
摘要 https://arxiv.org/pdf/2210.02093 视觉特征金字塔在多种应用中已展现出其在有效性和效率方面的优越性。然而,现有方法过度关注层间特征交互,却忽略了经验证明有益的层内特征调节。尽管一些方法试图借助注意力机制或视觉变换器来学习紧凑的层内特征表示,但它们忽略了…...
微信小程序购物车全选反选功能以及合计
微信小程序基于Vant Weapp的购物车功能实现 1、单选 使用微信小程序原生表单组件checkbox和checkbox-group 注意:checkbox原生不支持bind:change事件,checkbox-group支持 <checkbox-group bindchange"handleCheck"><checkbox val…...
大数据新视界 -- Hive 数据湖集成与数据治理(下)(26 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
【基础数学二】整除,最大公约数约数,最小公倍数
整除 在数论中,一个整数 a a a 能够被另一个整数 d d d 整除,记做 d ∣ a d|a d∣a。 整除的性质: 如果 d ∣ a d | a d∣a,则对于任意整数 k k k 有 d ∣ k a d | ka d∣ka。如果 d ∣ a d|a d∣a 并且 d ∣ b d|b d∣…...
【lua语言基础(四)】IO模型以及补充知识
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:lua从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多lua语言的知识 🔝🔝 lua语言基础 1. 简单的IO模型2…...
Python知识分享第十九天-网络编程
网络编程 概述用来实现 网络互联 不同计算机上运行的程序间可以进行数据交互也叫Socket编程 套接字编程 三要素IP地址概述设备在网络中的唯一标识分类IPV4城域网13广域网22局域网31IPV6八字节 十六进制相关dos命令查看ipwindows: ipconfigmac和linux: ifconfig测试网络ping 域…...
【JuMP.jl】非线性规划
[JuMP] 03 非线性规划 非线性规划模型 非线性规划问题是线性规划问题的自然推广, 在实际的工程问题中,优化问题中的目标函数与约束不会总是线性函数,因此非线性规划的求解功能是必要的。 min x ∈ R n f 0 ( x ) s.t. l j ≤ f j ( x ) ≤…...
网络(TCP)
目录 TCP socket API 详解 套接字有哪些类型?socket有哪些类型? 图解TCP四次握手断开连接 图解TCP数据报结构以及三次握手(非常详细) socket缓冲区以及阻塞模式详解 再谈UDP和TCP bind(): 我们的程序中对myaddr参数是这样…...
40分钟学 Go 语言高并发:服务性能调优实战
服务性能调优实战 一、性能优化实战概述 优化阶段主要内容关键指标重要程度瓶颈定位收集性能指标,确定瓶颈位置CPU、内存、延迟、吞吐量⭐⭐⭐⭐⭐代码优化优化算法、并发、内存使用代码执行时间、内存分配⭐⭐⭐⭐⭐系统调优调整系统参数、资源配置系统资源利用率…...
5092 星际争霸
逆序对排序; 字符串遍历; pair 特点: 两个值,第一个是字符串,第二个是逆序对数。而且没有重复的字符串。 #include<bits/stdc.h>using namespace std; typedef long long ll; const int N1e35; #define x f…...
AUTOSAR AP 汽车API知识点总结(Automotive API )R24-11
汽车API知识点总结 一、背景与目标 背景:智能互联汽车正逐步依赖远程诊断、软件更新等功能以确保行驶安全,并且用户已习惯于通过智能设备中的应用程序控制连接设备。虽然AUTOSAR标准支持车辆软件的可更新性,但尚未提供将AUTOSAR应用产生的数据和功能安全可靠地暴露给非AUTO…...
郭建波:围绕京剧革命进行的斗争——沉痛悼念童祥苓同志!
编者按——惊闻革命现代京剧《智取威虎山》杨子荣的扮演者童祥苓同志不幸去世,为了表达我们对于童祥苓同志去世的沉痛悼念之情,我们摘编了郭建波同志论述文化革命的文章,以“围绕京剧革命进行的斗争”为题予以发表。童祥苓同志在京剧《…...
陈晋论中国与世界的变局
问:现在都在议论中美是否可能“脱钩”的问题,你怎么看?答:中国是不主张中美“脱钩”的。在美国,“脱钩”的议论虽不缺国内政治上的支持,但总体上很难按美国的意愿做到,起码在工业制造、经济贸易上做不到。高科技…...
习近平:走出了一条独具特色的传统医药发展之路
12月3日,国家主席习近平向2024世界传统医药大会致贺信。习近平指出,传统医药是人类文明创造的成果,需要代代守护、传承精华,也需要与时俱进、守正创新。中医药作为传统医药的杰出代表,是中华文明的瑰宝。中国始终坚持发展现代医药和传统医药并重,推动中西医药优势互补、协…...
中国海警局新闻发言人就菲船只企图侵闯黄岩岛领海发表谈话
中国海警局新闻发言人刘德军表示,12月4日,菲律宾海警9701、4409号船及3002、3003号公务船企图侵闯中国黄岩岛领海,并危险接近中国海警正常执法巡查船只,中方依法依规对其实施管控。...
我国农村经济发展的最大的问题是什么?
网络上,关于发展农业生产和农村经济是集体好还是单干好的问题,争论不息,有说不完的话题。但是,我国农村现实存在的问题却是实实在在地摆在那儿。“田荒藏野兔,不见种田人。难寻儿时伴,多见老少孙。”这是农村现实的真实写照。一,有人提出了这样一个问…...
一觉醒来,叙利亚内战重启,谁是幕后推手?
11月27日,以色列、黎巴嫩真主党刚缓了口气(暂时停火),叙利亚内战爆发了。叙政府军与反对派武装及极端组织持续发生大规模交火。现在叙利亚西北部分地区被反对派攻陷。反对派武装称,已控制了阿勒颇(叙利亚北部重要城市)和伊德利卜(叙利亚西北部重要城市)的70个据点和村…...