实用指南:docker镜像和容器

news/2025/10/18 14:48:09/文章来源:https://www.cnblogs.com/slgkaifa/p/19146916

实用指南:docker镜像和容器

docker

docker是什么

Docker 是一种容器化技术,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后可以在任何支持Docker的机器上运行,Docker 容器与虚拟机类似,但是更加轻量级,因为它们不需要虚拟化整个操作系统,而是共享宿主机的操作系统内核,使用容器来隔离进程。

Docker核心组件包括五种:

1.docker客户端

2.docker客户端

3.docker镜像

4.docker容器

5.registry(仓库)

其中docker镜像,docker容器,registry最为重要

docker镜像:类似于虚拟机的快照,是一个只读模板,用来创建容器
docker容器:是镜像的运行实例,可以被启动、停止、删除等。容器之间相互隔离
registry仓库:是存放Docker镜像的仓库,Registry分私有和公有两种

公有仓库:最大的公有仓库是官方提供的Docker Hub,其中存放着数量庞大的镜像供用户下载。国内

如:腾讯云、阿里云也提供了仓库的本地源,可以提供稳定的国内访问。

私有仓库:用户不希望公开分享镜像文件,Docker也支持用户在本地网络内创建一个只能自己访问的私

有仓库

docker的架构:

Docker使用了C/S体系架构,Docker客户端与Docker守护进程通信,Docker守护

进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上

运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程

使用REST API通过UNIX套接字或网络接口进行通信。

docker的优势:
1.环境一致性:Docker 容器确保应用在开发、测试和生产环境中运行一致
2.隔离性:每个容器都在各自独立的环境中运行,不会相互干扰,提高了安全性和稳定性。
3.快速部署和启动:容器启动速度极快,通常只需几秒钟,而传统虚拟机则需要几分钟
4.资源更高效,容器共享主机系统的内核,不需要额外的操作系统开销,因此比虚拟机更加轻量,占用资源更少
5.资源高效:容器共享主机系统的内核,不需要额外的操作系统开销,因此比虚拟机更加轻量,占用资源更少
6.版本控制和组件复用:Docker 镜像可以版本化管理,方便回滚和共享,同时可以基于现有镜像构建新镜像,促进复用。

如何部署docker

Docker官方提供2个版本,一个是Docker企业版Docker-EE,另外一个则是社区版Docker-CE。

Docker-CE由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用。Docker-EE收费版

本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计。相比Docker-EE,增加一些额外

功能,更重要的是提供了更安全的保障。通常情况下,Docker-CE足以满足我们的需求。


在部署docker前,需要关闭防火墙和selinux

yum源使用阿里源

[root@docker yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@docker yum.repos.d]# yum install epel-release -y

然后安装系统工具

yum install -y yum-utils

添加软件源的信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

开启docker服务

service docker start

安装完成后,可以给docker配置一个镜像加速器

[root@docker ~]# vim /etc/docker/daemon.json、
{"registry-mirrors": [ "https://docker.m.daocloud.io",  "https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"
]
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker

至此docker部署完成,我们可以通过docker version查看docker的版本信息

[root@docker ~]# docker version
Client: Docker Engine - CommunityVersion:           26.1.4API version:       1.45Go version:        go1.21.11Git commit:        5650f9bBuilt:             Wed Jun  5 11:32:04 2024OS/Arch:           linux/amd64Context:           default
Server: Docker Engine - CommunityEngine:Version:          26.1.4API version:      1.45 (minimum version 1.24)Go version:       go1.21.11Git commit:       de5c9cfBuilt:            Wed Jun  5 11:31:02 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.33GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0

Docker镜像

Docker镜像是Docker容器的基础,它包含了运行应用程序所需的一切:代码、运行时、库、环境变量和配置文件。我们可以将Docker镜像视为一个轻量级、独立的、可执行的软件包,包括运行它所需的一切,用户甚至可以直接从网上下载一个已经做好的应用镜像,并直 接使用。

当运行容器时,使用的镜像如果在本地中不存在,Docker就会自动从Docker镜像仓库中下载,默认

是从 Docker Hub公共镜像源下载,也可以通过其他的公共仓库中下载,或者自己创建镜像

docker镜像的相关操作

docker images 可以列出本地主机上的镜像
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    41f689c20910   6 weeks ago   192MB

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

docker search 可以搜索镜像,但现在搜索会报错
docker pull 可以下载镜像,当我们在本地主机上使用一个不存在的镜像时,Docker就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull命令来下载
[root@docker ~]# docker pull nginx
docker tag可以添加镜像的标签
[root@docker ~]# docker tag nginx:latest mynginx:latest
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mynginx      latest    41f689c20910   6 weeks ago   192MB
nginx        latest    41f689c20910   6 weeks ago   192MB

他们是同一个镜像,只是名字不同,相当于别名

docker hostory 可以查看镜像构建的历史,在使用镜像时一定要看,如果没有构建历史说明镜像是不安全的,如果使用可能会中病毒
[root@docker ~]# docker history nginx
IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
41f689c20910   6 weeks ago   CMD ["nginx" "-g" "daemon off;"]                0B        buildkit.dockerfile.v0
      6 weeks ago   STOPSIGNAL SIGQUIT                              0B        buildkit.dockerfile.v0
      6 weeks ago   EXPOSE map[80/tcp:{}]                           0B        buildkit.dockerfile.v0
      6 weeks ago   ENTRYPOINT ["/docker-entrypoint.sh"]            0B        buildkit.dockerfile.v0
      6 weeks ago   COPY 30-tune-worker-processes.sh /docker-ent…   4.62kB    buildkit.dockerfile.v0
      6 weeks ago   COPY 20-envsubst-on-templates.sh /docker-ent…   3.02kB    buildkit.dockerfile.v0
      6 weeks ago   COPY 15-local-resolvers.envsh /docker-entryp…   389B
docker rmi 可以删除镜像
[root@docker ~]# docker rmi mynginx:latest
Untagged: mynginx:latest
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    41f689c20910   6 weeks ago   192MB

如果有多条镜像想要删除,可以一条一条删除,也可以直接删除镜像id,但如果有额外的标签,则不能直接删除,需要加 -f 强制删除

[root@docker ~]# docker rmi 41f689c20910
Error response from daemon: conflict: unable to delete 41f689c20910 (must be forced) - image is referenced in multiple repositories
[root@docker ~]# docker rmi 41f689c20910 -f
Untagged: mynginx:latest
Untagged: nginx:latest
Untagged: nginx@sha256:d5f28ef21aabddd098f3dbc21fe5b7a7d7a184720bc07da0b6c9b9820e97f25e
Deleted: sha256:41f689c209100e6cadf3ce7fdd02035e90dbd1d586716bf8fc6ea55c365b2d81
Deleted: sha256:6d03e4aefb16ea9e0d73cacb9a9fcb8f7fb3a806c41606600cab179aa381550f
Deleted: sha256:0951af45805a90677b83c3e3ae0ff7c1d6114b796206381914d1976df19d5af7
Deleted: sha256:dfa09858601e1678c6300924eeb880cbe0070bd41b3cc1bd8245f39104f1c8d7
Deleted: sha256:0502b463a609459d9b7bbd8044fd58e77f4309818da8841029dbf638a3a1581e
Deleted: sha256:39ffa72f273801580dbcd954e125f78fd5bb430896c32ab303667c5bbf154f39
Deleted: sha256:e57750b7e7ad7cb2436b3e9d3aafa338e89ee68f50d7e63bc09af37166ebc68e
Deleted: sha256:36f5f951f60a9fa1d51878e76fc16ba7b752f4d464a21b758a8ac88f0992c488
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
docker image prune 使用docker一段时间后,系统可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可以通

过docker image prune命令来进行清理。

[root@docker ~]# docker image prune -f
Total reclaimed space: 0B
docker image save将一个镜像导出到一个压缩包中,便于在其他主机上运行
[root@docker ~]# docker image save nginx > mynginx.tar.gz
[root@docker ~]# ls
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  mynginx.tar.gz  Public     Videos
Desktop          Downloads  Music                 Pictures        Templates
docker image load导入我们需要的镜像压缩包
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@docker ~]# docker image load -i mynginx.tar.gz
36f5f951f60a: Loading layer  77.89MB/77.89MB
c855abf10cdc: Loading layer  118.6MB/118.6MB
8e7d6b511078: Loading layer  3.584kB/3.584kB
50da593f6222: Loading layer  4.608kB/4.608kB
72fa904a482c: Loading layer   2.56kB/2.56kB
7d95a4a72e11: Loading layer   5.12kB/5.12kB
3ce214e9ebc5: Loading layer  7.168kB/7.168kB
Loaded image: nginx:latest
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    41f689c20910   6 weeks ago   192MB
docker image inspect 可以查看镜像的详细信息
[root@docker ~]# docker image inspect nginx:latest
[{"Id": "sha256:41f689c209100e6cadf3ce7fdd02035e90dbd1d586716bf8fc6ea55c365b2d81","RepoTags": ["nginx:latest"],"RepoDigests": [],"Parent": "","Comment": "buildkit.dockerfile.v0","Created": "2025-08-13T16:34:01Z","DockerVersion": "","Author": "","Config": {"Hostname": "","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false

Docker容器

容器是镜像的一个运行实例。可以从同一个镜像创建多个容器,它们之间是相互隔离的。容器可以被启动、停止、删除,并且每个容器都有自己的文件系统、网络配置和进程空间。

容器的生命周期包括以下几个状态:

  • 创建(created)
  • 运行(running)
  • 停止(stopped)
  • 删除(deleted

管理容器常用的命令

create 可以创建容器,创建后可以通过docker ps 或者docker ps -a查看
[root@docker ~]# docker create -it nginx
6359a8fb6ea5b2a21afee81182d0318f90279a0e62ff2fac8ba2e64acc979dbc
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS    PORTS     NAMES
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   11 seconds ago   Created             gracious_davinci

ps只能看到正在允许的容器,ps -a可以看到所有的容器

-i: 让容器的标准输入保持打开。

-t: 分配一个伪终端并绑定到容器的标准输入上。

start 可以启动容器
[root@docker ~]# docker start 6359a8fb6ea5
6359a8fb6ea5
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 3 seconds   80/tcp    gracious_davinci
stop 可以终止一个容器的运行
[root@docker ~]# docker stop 6359a8fb6ea5
6359a8fb6ea5
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                     PORTS     NAMES
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   4 minutes ago   Exited (0) 6 seconds ago             gracious_davinci
docker pause 命令来暂停一个运行中的容器,暂停可以用ps看见,而stop只能用ps -a来看
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                   PORTS     NAMES
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   11 minutes ago   Up 30 seconds (Paused)   80/tcp    gracious_davinci
除了创建容器后通过start命令来启动,也可以直接新建并启动容器。所需要的命令主要为docker run,等价于先 执行docker create命令,再执行docker start命令。下面的命令启动一个bash终端,运行用户进行交互
[root@docker ~]# docker run -it nginx /bin/bash
root@8366db785a48:/# ls
bin   dev		   docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc			 lib   media  opt  root  sbin  sys  usr
root@8366db785a48:/# exit
exit
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                  PORTS     NAMES
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   17 minutes ago   Up 6 minutes (Paused)   80/tcp    gracious_davinci
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                      PORTS     NAMES
8366db785a48   nginx     "/docker-entrypoint.…"   38 seconds ago   Exited (0) 21 seconds ago             cranky_dijkstra
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   17 minutes ago   Up 7 minutes (Paused)       80/tcp    gracious_davinci

使用-it运行后,会直接进入交互,如果退出容器,则会直接终止容器的运行,我们可以使用-d参数使容器在后台运行而不进行交互

[root@docker ~]# docker run -itd httpd /bin/bash
790d8d106417cf4ba52a13cfa3127ed9ed06cbc5ea2bdd23c3897d03ffdaecdf
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                  PORTS     NAMES
790d8d106417   httpd     "/bin/bash"              6 seconds ago    Up 5 seconds            80/tcp    silly_bohr
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   20 minutes ago   Up 9 minutes (Paused)   80/tcp    gracious_davinci
attach可以进入容器,但是我们一般不用,因为使用attach进入容器后,退出容器会导致容器停止
exec 我们还可以使用exec命令进入容器,这样退出容器后容器不会停止
[root@docker ~]# docker exec -it httpd /bin/bash
Error response from daemon: No such container: httpd
[root@docker ~]# docker exec -it silly_bohr /bin/bash
root@790d8d106417:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs	modules
root@790d8d106417:/usr/local/apache2#

可以使用rm命令删除容器,但是只能删除停止的容器

[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                     PORTS     NAMES
790d8d106417   httpd     "/bin/bash"              6 minutes ago    Up 6 minutes               80/tcp    silly_bohr
8366db785a48   nginx     "/docker-entrypoint.…"   9 minutes ago    Exited (0) 9 minutes ago             cranky_dijkstra
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   26 minutes ago   Up 15 minutes (Paused)     80/tcp    gracious_davinci
[root@docker ~]# docker rm 8366db785a48
8366db785a48
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                   PORTS     NAMES
790d8d106417   httpd     "/bin/bash"              7 minutes ago    Up 7 minutes             80/tcp    silly_bohr
6359a8fb6ea5   nginx     "/docker-entrypoint.…"   27 minutes ago   Up 16 minutes (Paused)   80/tcp    gracious_davinci
[root@docker ~]# docker rm 6359a8fb6ea5
Error response from daemon: cannot remove container "/gracious_davinci": container is paused and must be unpaused first

可以看到,只能删除用stop停止的容器,而不能删除被暂停的容器

如果要直接删除,需要加 -f

[root@docker ~]# docker rm 6359a8fb6ea5 -f
6359a8fb6ea5
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
790d8d106417   httpd     "/bin/bash"   8 minutes ago   Up 8 minutes   80/tcp    silly_bohr
使用 --name可以给容器命名,如果不用则会随机命名
[root@docker ~]# docker run -itd --name httpd httpd /bin/bash
16634626c58506766bcbbed0a92f0faadc5ed0296b9b2d15dc50d5557c7a2625
[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
16634626c585   httpd     "/bin/bash"   7 seconds ago    Up 6 seconds    80/tcp    httpd
790d8d106417   httpd     "/bin/bash"   13 minutes ago   Up 13 minutes   80/tcp silly_bohr
导入和导出容器

export可以导出容器,export可以导入

导出容器是指,导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker

export命令。“-o”选项也可以重定向“>”来代替

[root@docker ~]# docker export > httpd.tar.gz 16634626c585
[root@docker ~]# ls
anaconda-ks.cfg  httpd.tar.gz          Pictures
Desktop          initial-setup-ks.cfg  Public
Documents        Music                 Templates
Downloads        mynginx.tar.gz        Videos

导入容器,导出的文件又可以使用docker import命令导入变成镜像。

[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    41f689c20910   6 weeks ago   192MB
[root@docker ~]# docker import httpd.tar.gz myhttpd
sha256:e0120625b3920f7c4fc1979778028c7e53e41fb76e60bf4efe7f3dcde01709a9
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
myhttpd      latest    e0120625b392   4 seconds ago   115MB
nginx        latest    41f689c20910   6 weeks ago     192MB

导出容器是把容器导出到一个文件,然后导入则会使文件变成镜像


容器的端口映射和目录映射

端口映射是指将容器的端口映射到宿主机的端口上,这样我们访问宿主机的端口就相当于访问容器的端口,目录映射也是同理

-P是映射随机端口

-p是手动选择端口

[root@docker ~]# docker run --name nginx -itd -p 8080:80 nginx:latest
35fa5db066af11f8c6f2f51a320f522dd1454f5b37c13e1cbd115e1a778960ec

手动选择先本地后容器,目录映射同理

[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                   NAMES
35fa5db066af   nginx:latest   "/docker-entrypoint.…"   48 seconds ago   Up 48 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp   nginx

访问8080端口测试

在这里插入图片描述

目录的映射

我们可以在宿主机上创建目录,然后将容器的相关配置文件映射到宿主机的目录上,这样就只需要在宿主机的目录里面修改配置文件

创建用于存放映射数据的目录

[root@docker ~]# mkdir -p ~/nginx/www
[root@docker ~]# mkdir -p ~/nginx/logs
[root@docker ~]# mkdir -p ~/nginx/conf

将nginx的默认配置文件复制到宿主机目录

[root@docker ~]# docker cp 35fa5db066af:/etc/nginx/nginx.conf ~/nginx/conf
Successfully copied 2.56kB to /root/nginx/conf
[root@docker conf]# ls
nginx.conf
[root@docker ~]# docker run -itd -p 8081:80 --name nginx3 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx:latest
1e9a584aa165f8b2ee81f93f9823223f8038f092a61dff13da39692eef1d634d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解 PHP-FPM 的最佳配置

深入理解 PHP-FPM 的最佳配置 对大多数开发者来说,PHP-FPM 的配置并不是日常工作中需要深入研究的东西。这没什么问题,毕竟不是每个人都想或需要在服务器调优上花时间。 况且,现在有很多托管服务(宝塔, 1panel等)…

【GitHub每日速递 251017】95k star,程序员专属!超全做饭指南,涵盖千道美食做法与进阶秘籍

原文: https://mp.weixin.qq.com/s/1Jxssm-81SsuOQTi31fqKA 全球最大RSS网络RSSHub:聚合海量内容,开源社区超活跃! RSSHub 是一个将各类内容源转化为RSS订阅的工具。简单讲,它能让不支持RSS的网站也能生成RSS订阅链…

洛谷 P6715 [CCO 2018] Fun Palace (神秘DP)

模拟赛的神题。想了 4h 没有拼出任意一个多项式做法。 在赛后被同学指点了一下发现状态要这么设——设 \(f_{i,j}\) 表示考虑前 \(i\) 个房间,第 \(i\) 个房间所有时间内最大有 \(j\) 个人的情况下的最大总人数。 至于…

AT 随机做题 I

Randomly Problems Solving at AtCoder I 质量评分 \(\in[0,10]\),分为 \([0,4),[4,7),[7,10]\) 三个梯度,评分和难度弱相关。 上次更新:2025/10/16 注重思路。 [ABC 134 F] Permutation Oddness \(5\) 分。 排列计…

moni 32

事实是我好久没写模拟赛的总结了, 想了想这点东西当日记还是太糖了,(主要是不想写) 直接来吧,预估 \(100 + 100 + 65 + 0\),实际 \(100 + 0 + 65 + 0\)。 挂分原因,交错代码了。 故事是这样的。 我感觉我自己 T…

git 舍弃当前所有修改

在 Git 中,如果你想要舍弃当前所有未提交的修改(包括工作区和暂存区的更改) git reset --hard这会:重置暂存区(index) 重置工作区(working directory) 丢弃所有未提交的修改可选:同时清理未跟踪的文件(如新添…

2025.10.17——1蓝

提高+/省选- P3230 [HNOI2013] 比赛 补题,前天开的暑假集训题,看了题解后花了几天时间理解。很精妙的记忆化搜索。

C# 使用 using 关键字间接实现只读局部变量的方法

众所周知,在 C# 里面是没有只读局部变量的功能的。但有趣的 C# 语法让咱可以使用现有的 using 关键字间接实现只读局部变量在 C# 里面引入只读局部变量是一个存在 C# 语言设计仓库里面很久的讨论,详细请看 https://g…

高校与某中心共建机器人技术教育项目

某机器人与汉普顿大学合作建立机器人学位项目,包括新建研究实验室、人工智能与机器学习教职岗位、高级课程指导,以及K-12编程扩展计划,旨在培养多元化机器人技术人才。某机器人与汉普顿大学合作建立机器人项目 某中…

2025年国际物流服务领域优质品牌最新推荐排行榜 —— 聚焦行业头部企业核心优势与选择参考

在全球化贸易深度推进的背景下,跨境电商行业规模持续扩大,国际物流作为连接全球市场的关键纽带,其服务质量与效率直接影响跨境商家的运营成本、客户体验及市场竞争力。然而,当前国际物流市场品牌众多,服务能力参差…

WordPress维护模式完整指南:手动实现与插件方案

本文详细介绍了WordPress网站维护模式的两种实现方式:通过手动添加PHP代码到子主题的functions.php文件,或使用LightStart插件。包含完整代码示例、启用禁用方法和注意事项,适合开发者在进行重大更新时使用。WordPr…

Lean语言如何连接数学与编程

Lean作为函数式编程语言和交互式定理证明器,在形式化数学、软硬件验证、AI辅助数学与代码合成以及计算机教育等领域具有广泛应用。文章详细介绍了Lean语言的设计理念、核心功能及在多个开源项目中的实际应用案例。Lea…

Github上文本切分相关的优秀项目

Github上文本切分相关的优秀项目Github上有几个不错的文本切分相关的优秀项目,涵盖了不同技术方向和应用场景:AntSK-FileChunk特点:基于语义理解的智能文本切片工具,支持PDF、Word、纯文本等多种格式,通过语义分析…

微信机器人开发

微信机器人开发、微信二次开发文档、微信个人发消息api "WTAPI"是一个基于微信开放平台的二次封装API服务,旨在简化开发者与微信对接的流程。提供了丰富的功能API,包括好友管理、消息管理、群管理、朋友圈…

原型链污染学习

目录示例题目题目1题目2思路如何找到修改的变量?(题目1思路&步骤)题目2思路题目2做题步骤 前两天在打几场新生赛练手的时候,遇到了两三道关于python原型链污染的基础题,发现这方面知识点还是匮乏,所以以这两道题目…

重新认识 Golang 中的 json 编解码

欢迎访问我的个人小站 莹的网络日志 ,不定时更新文章和技术博客~json 是我的老朋友,上份工作开发 web 应用时就作为前后端数据交流的协议,现在也是用 json 数据持久化到数据库。虽然面熟得很但还远远达不到知根知底…

(二)CUDA在Windows系统上的编译运行方法

前言 本文记录cuda库在windows系统上的编译运行的3种方式,主要包括命令行编译、VisualStudio2017编译、VSCode上编译等。 ​一、windows环境下CUDA环境配置 1.下载MinGW以使用GCC编译器 下载MinGW链接:https://githu…

关于价值原语与AI元人文构想的对话全记录——DeepSeek研究

关于价值原语与AI元人文构想的对话全记录——DeepSeek研究 基于这份详尽的对话记录,我们可以进行一次深入的、系统性的研究,超越表面的技术讨论,探寻其背后的哲学意义、现实可行性及未来路径。 这份对话展现了一场思…

251017

251017为了满足别人给我的不可能完成的任务,我编了一个又一个的故事,虽然这些故事从来没有真实的发生过,但一定是别人想发生的,我来像母亲一样哄骗他们,大家一起在白天做梦,真真假假假假真真,反正明天不是阴天就…