CentOS下Docker安装实战:从环境准备到常见坑排查
安装 Docker 这件事听起来是再简单不过的一个操作但我在实际帮人排查故障时发现很多人恰恰是在“简单”上栽了跟头。前两天一位朋友让我看他的测试服务器Docker 装完一直起不来systemctl status 报错一大串。我上去一查内核还是 3.10 的旧版本仓库源配的还是早就失效的第三方地址清理掉旧仓库重新按标准流程装一遍十分钟就搞定。这篇就围绕 CentOS 系统下的 Docker 安装把我反复实践过的最稳流程、每条命令背后的原因、以及安装前后容易踩的坑一起写清楚。适合刚接触 Linux 容器的新手也适合准备在 CentOS 生产环境上部署 Docker 的同学参考。1. 安装前的准备工作确认版本、清理残留、备好内核很多人拿到服务器第一步就是复制网上的安装命令开始装结果装到一半报错或者装完发现内核太老、存储驱动不支持又得卸载重来。我在实际部署中总结出一条原则先花五分钟确认系统和内核状态再决定走哪条安装路线。1.1 版本选型先看清楚系统再动手Docker Engine 对内核版本有明确的下限要求CentOS 上最低是 3.10。CentOS 7 默认内核就是 3.10 系列满足最低要求但这里有个容易被忽略的点3.10 是“能用”的门槛不是“好用”的门槛。老内核在 overlay2 存储驱动、cgroup 管理上时不时会冒一些小问题我在 3.10.0-514 这种远古内核上遇到过容器启动卡死的情况。CentOS 8 及以上版本自带 4.18 或更新内核体验会稳很多。装之前先执行三条命令把家底摸清楚cat /etc/centos-release uname -r arch看输出结果再往下走cat /etc/centos-release确认系统大版本比如 CentOS 7.9 还是 CentOS Stream 8。uname -r确认内核版本如果低于 3.10先升级内核再装 Docker别硬上。arch确认 CPU 架构目前主流是 x86_64 和 aarch64后续镜像拉取要注意架构匹配。还有一个很多人没注意到的问题CentOS 7 已经结束了生命周期官方源陆续迁移到了归档仓库。老机器上直接用原 yum 源装系统依赖时经常会出现 404 或者 “Could not retrieve mirrorlist” 的报错。所以如果你的服务器还是 CentOS 7装 Docker 之前先确认系统自己的源还能正常yum install东西。如果原有的源已经失效先把系统源指向可用的镜像仓库或者归档仓库再继续。如果这是一台准备长期跑业务的新服务器我更建议直接考虑更新的操作系统版本省得在生命周期问题上反复折腾。1.2 清理旧版本 Docker别让残留包干扰服务器上如果之前装过 Docker或者装过与 Docker 相关的软件包直接再装新版很容易被旧配置干扰。最常见的现象是 yum 解析依赖时出现冲突或者在 /etc/docker/daemon.json 里留了一个和新版本不兼容的配置导致服务启动失败。先执行一次清理把常见的旧包名都过一遍sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-ce docker-ce-cli containerd.io这里把 docker-ce 和 containerd.io 也放进去了意思是如果你之前用 rpm 手动装过这类包也要一并卸掉。需要注意的是yum remove不会动 /var/lib/docker 目录也就是说旧镜像、旧容器数据还在磁盘上。如果确定这些数据不需要了后面可以手动删除如果还想保留数据卸载老版本时千万别顺手把 /var/lib/docker 删了。再检查一下 yum 仓库文件里有没有 Docker 相关的历史痕迹ls /etc/yum.repos.d/ | grep -i docker如果有直接删除对应的 repo 文件或者编辑它把过期地址改掉。清完之后用yum repolist看一眼当前启用的仓库列表确认没有奇怪的第三方 Docker 源残留。这一步看似啰嗦但能避免后续安装时出现“软件包来源不明”或者“依赖解析混乱”的问题。1.3 内核模块与网络参数装之前先配好Docker 在 CentOS 上运行依赖两个关键内核模块一个是overlayoverlayfs 文件系统另一个是br_netfilter网桥过滤。br_netfilter 的作用是让经过 Linux 网桥的流量也能被 iptables 规则处理Docker 容器网络隔离离不开它。先手动加载并确认sudo modprobe overlay sudo modprobe br_netfilter lsmod | grep -E overlay|br_netfilter如果能搜到对应的模块行说明内核支持。如果提示模块不存在大概率是内核包装得不全可以安装内核扩展包再试。网络参数方面需要把 IPv4/IPv6 的网桥调用 iptables 打开否则容器之间以及容器访问外网时可能出现奇怪的不通现象。我用一个配置文件一次配好sudo tee /etc/sysctl.d/docker.conf EOF net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 EOF sudo sysctl -p /etc/sysctl.d/docker.conf加载完可以用sysctl net.bridge.bridge-nf-call-iptables验证输出为 1 就说明已经生效。这一步很多安装教程会跳过但一旦跳过后面排查容器网络问题会非常痛苦。2. 三种安装方式怎么选在线仓库、离线RPM包、官方脚本CentOS 上装 Docker 常走的路线大致有三条yum 在线仓库安装、离线 RPM 包安装、官方脚本安装。每条路线都有适合的场景没有绝对的最好只有最合适。2.1 在线仓库安装生产环境最稳的一条路如果你能访问外部网络在线仓库是我最推荐的方式。原因很简单依赖关系由 yum 自动解析后续升级方便版本也可以锁定。具体操作分三步。先安装 yum-utils 工具它提供yum-config-manager命令用来管理仓库配置sudo yum install -y yum-utils然后添加 Docker 官方仓库。CentOS 系统直接执行sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo这条命令会在 /etc/yum.repos.d/ 下生成一个 docker-ce.repo 文件。官方仓库同时包含 stable稳定版、test测试版、nightly每夜版几个通道默认启用的是 stable生产环境不建议动这个配置。最后安装 Docker 软件包。这里有个细节值得展开Docker CE 现在的安装包拆成了几个部分docker-ce是真正的守护进程dockerddocker-ce-cli是 docker 命令行工具containerd.io是容器运行时docker-compose-plugin和docker-buildx-plugin则是 Compose 和 Buildx 的插件。新版 Docker 不再把 compose 功能内嵌在主包里所以安装时建议一起装上sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin安装过程中如果提示要导入 GPG 密钥确认密钥指纹没问题直接确认即可。遇到报错说缺少container-selinux依赖时先单独装一下这个包再回头装 Dockersudo yum install -y container-selinux针对生产环境安装时最好锁定版本。Docker 小版本升级偶尔会带来不兼容变更我在测试环境就遇到过跨大版本升级后旧容器启动异常的情况。锁定版本用showduplicates先列出可用版本yum list docker-ce --showduplicates | sort -r然后指定版本号安装比如sudo yum install -y docker-ce-24.0.7-1.el7 docker-ce-cli-24.0.7-1.el7 containerd.io这样装了哪个版本一目了然后续是否升级完全由自己控制不会被偶然的仓库更新影响。2.2 离线RPM包安装内网环境的正确姿势不少生产环境处于内网隔离状态完全无法访问外部 yum 仓库。这种情况下最实用的方案是在一台能连外网的机器上把 RPM 包连同依赖一起下载下来再拷贝到目标服务器安装。有网的机器上先装 yum-utils然后用yumdownloader一次性把目标包和依赖都拉下来sudo yum install -y yum-utils mkdir -p /tmp/docker-rpms cd /tmp/docker-rpms sudo yumdownloader --resolve docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin container-selinux--resolve参数很关键它会把所有依赖包一并下载。下载完的目录里是一堆 RPM 文件把它们打包拷贝到内网机器上tar czf docker-rpms.tar.gz /tmp/docker-rpms在目标机器上解压后安装tar xzf docker-rpms.tar.gz cd /tmp/docker-rpms sudo rpm -Uvh *.rpm这里用rpm -Uvh而不是rpm -ivh因为 -U 是升级安装如果机器上已经存在同名的旧版本包-U 能直接替换上去-i 则会提示已安装。执行过程中 rpm 如果报缺少某个依赖就回有网机器上再单独yumdownloader那个包补进来。这种方式虽然麻烦一点但完全绕开了网络限制适合内网交付场景。2.3 官方脚本临时测试的最快方案Docker 官方提供了一个自动化安装脚本用法很简单curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh脚本会检测系统类型配置仓库然后安装最新版本。这个方式的优点是快适合临时虚拟机、测试环境快速搭一个能用的 Docker。但缺点也很明显第一它默认装最新版版本不可控第二脚本内部步骤不透明出了问题不好排查第三在某些环境下脚本检测系统类型会有误判。所以我的建议是官方脚本只用来做快速验证生产环境老老实实走 yum 仓库安装别图省事。2.4 三种方式怎么选一张表说清楚安装方式适用场景网络要求版本可控性我的建议yum 在线仓库常规服务器、生产环境需要能访问 Docker 仓库可锁定版本默认首选离线 RPM 包内网、隔离网环境不需要外部网络下载什么版本就是什么版本内网首选官方脚本临时测试、快速验证需要能访问官方网站不可控默认最新仅限测试选路线的核心逻辑就一句话能在线就在线不能在线就用离线包脚本只是应急手段。3. 启动、验证与基础配置把服务调好再跑业务安装完成不等于装好了后面还有启动、验证、基础配置三道工序。我在实操中见过不少装了 Docker 但每隔一段时间就出问题的情况追根溯源大多是这步没做好。3.1 用 systemd 管理 Docker设置开机自启CentOS 7 及以上版本都用 systemd 管理服务Docker 安装完成后不会自动启动需要手动开启。执行sudo systemctl start docker sudo systemctl enable dockerstart是立即启动enable是设置开机自启。输入systemctl status docker看到active (running)就说明服务正常。如果看到的是 failed 或者不断重启的状态先别急着重启机器直接看日志找原因sudo journalctl -u docker -n 100 --no-pagerjournalctl 是 systemd 提供的统一日志查看工具-u docker只过滤 Docker 服务的日志-n 100看最近 100 行--no-pager避免日志太长卡在交互界面。大部分启动失败的真实原因都能在日志里看到比 systemctl status 的笼统报错可靠得多。3.2 验证安装docker version、docker info 与 hello-world启动完成后先看客户端和服务端版本是否对得上docker version输出中 Server 部分有内容就说明守护进程正常。接着看环境信息docker info重点看这几项Storage Driver显示 overlay2 说明存储驱动正常。Cgroup VersionCentOS 7 通常是 cgroup v1新版系统可能是 cgroup v2。Server Version记录当前实际运行的 Docker 版本方便后续核对。最后用经典的 hello-world 镜像做一次端到端验证docker run --rm hello-world这个命令会先从仓库拉取 hello-world 镜像再创建并运行一个临时容器容器输出一段欢迎信息后自动退出。--rm参数让容器退出后自动清理不会留下垃圾容器。如果你能看到 “Hello from Docker!” 的提示说明整个 Docker 引擎从拉镜像到创建容器再到运行全链路都是通的。如果这一步卡在拉镜像阶段比如长时间没有反应或者超时先别怀疑 Docker 坏了大概率是镜像仓库访问速度不理想接着看下面的配置优化。3.3 daemon.json 基础配置存储目录、日志上限、镜像加速Docker 守护进程的配置集中在 /etc/docker/daemon.json这个文件默认不存在需要自己创建。配置文件在 dockerd 启动时读取修改后必须重启 Docker 服务才生效。下面是我在 CentOS 上常用的一个起步配置{ data-root: /data/docker-data, storage-driver: overlay2, log-driver: json-file, log-opts: { max-size: 100m, max-file: 5 }, exec-opts: [native.cgroupdriversystemd], registry-mirrors: [https://your-mirror-address] }逐项说明一下>sudo systemctl daemon-reload sudo systemctl restart docker再次执行docker info确认配置项已经生效比如 Storage Driver 显示 overlay2Log Config 显示 max-size 相关参数。这一步排查配置问题非常管用。4. 常见问题与排查经验实录装 Docker 遇到问题不可怕可怕的是只会照抄systemctl restart docker然后发现没用。下面我把这几年来遇到的高频问题按阶段拆开讲每个都给出可落地的排查思路。4.1 安装过程报错仓库源、依赖、密钥三座大山报错Could not retrieve mirrorlist / connection refused这是 CentOS 7 老机器很常见的现象。原因多半是系统原有的 yum 源已经失效或者在新的网络环境下被限制访问。先测试系统源是否正常yum repolist如果报错尝试用国内可用的 CentOS 源替换系统源或者把仓库地址改成归档地址。这一步与 Docker 本身无关但不做的话后面 docker-ce.repo 装不进去。报错Package docker-ce requires container-selinux 2.107Docker 的 rpm 包依赖容器 SELinux 策略模块而这个包可能不在默认安装的仓库里。解决办法是单独安装sudo yum install -y container-selinux如果普通仓库里找不到可以从 Docker 官方仓库拿到对应 RPM 包手动安装。这个依赖坑在 CentOS 7 上出现频率最高。报错The GPG key marked as imported but not trusted仓库添加成功后安装时提示 GPG 密钥不可信通常是仓库文件里的 gpgkey 地址被篡改或者系统时间和签发密钥的时间对不上。先检查时区时间对不对再用sudo yum clean all sudo yum makecache重新拉取仓库元数据。时间没问题的话就用rpm --import手动导入仓库文件中指定的密钥地址再重试安装。4.2 启动阶段报错内核、防火墙与存储驱动报错Unit docker.service not foundservice 文件不存在说明 Docker 包没有真正安装成功。先用yum list installed | grep docker确认没有就回到安装步骤重装别手动去创建 service 文件。报错overlay2: ... Invalid argument / operation not permitted这类报错通常出现在 CentOS 7 老内核上。overlay2 驱动需要内核支持 overlay 文件系统并正确挂载老内核在部分文件系统上会失败。排查步骤dmesg | grep -i overlay如果内核确实不支持有两个选择更新系统内核到更新的版本或者临时把存储驱动改成 vfs。vfs 性能差只适合应急测试生产环境还是优先升级内核。报错iptables failed: No chain/target/match by that name这个我印象太深了。Docker 启动时想把规则插入 iptables 的 DOCKER 链但系统防火墙服务当时处于半初始化状态链还不存在于是一插入就报错。最常见的原因是 Docker 和 firewalld 两个服务同时启动时抢占了 iptables 资源。解决办法依次尝试sudo systemctl stop firewalld sudo systemctl restart docker sudo systemctl start firewalld如果这样处理后还是报错干脆重启一次系统让 iptables 干净的初始化再确认 Docker 能启动。不要把 iptables 服务停掉就完事容器 NAT 全靠它。报错Failed to start Docker Application Container Engine这个报错太泛了光看这行字排查不出任何东西。必须看底层日志sudo journalctl -u docker --since 5 minutes ago --no-pager或者sudo tail -n 200 /var/log/docker /var/log/containers/*/*.log 2/dev/null我在实战里发现之前提到过的native.cgroupdriver配置写错或者 daemon.json 里 JSON 语法有问题导致解析失败都会挂在这个报错下面。可以先手动把 daemon.json 里暂不用的配置注释掉再逐步恢复就能定位到具体是哪一项。4.3 运行时问题权限、磁盘与镜像拉取报错Got permission denied while trying to connect to the Docker daemon socket普通用户使用 docker 命令时报权限不足本质是访问 /var/run/docker.sock 这个 Unix socket 被拒绝。解决办法是把用户加进 docker 用户组sudo usermod -aG docker $USER newgrp docker登出再登录一次权限就生效了。但这里必须说清楚能进入 docker 组就意味着能完全控制宿主机的 root 权限因为容器和宿主机共享内核给了 docker 权限基本等于给了 root。生产环境中把这个组授予谁要想清楚。报错No space left on device容器日志把磁盘写满了或者镜像/容器占用空间过高。先用docker system df看空间分布用docker system prune -a清理无用镜像和构建缓存再检查日志配置是否生效。更根本的办法是给 Docker 换到独立数据盘配合前面第三节提到的日志容量上限。报错pull access denied / manifest unknown / timeout镜像拉取失败大概率是因为名字写错、tag 不存在或者网络链路不稳定。先确认镜像名和 tag 拼写再看一下加速器配置。如果配置了 registry-mirrors可以执行docker pull时加--debug参数观察具体报错阶段。实在拉不下来换个 tag 或换一个可用镜像仓库试试。报错SELinux is preventing ...CentOS 默认开启 SELinuxDocker 容器在特定挂载和访问场景下会触发 SELinux 拦截。最直接的验证方法是先临时把 SELinux 设为宽松模式看是否正常sudo setenforce 0如果确认是 SELinux 的问题不建议长期关闭 SELinux更安全的做法是针对 Docker 的上下文放行相关规则或者使用容器编排平台传递正确的 SELinux 标签。关闭 SELinux 是最后手段除非内部运维规范明确允许否则别为了省事把系统防护撤掉。5. 安装之后用户权限、安全加固与日常维护Docker 装好、容器能跑了只能算完成了一半。后面用户权限怎么分、安全加固怎么做、版本怎么升级这些决策直接影响这台服务器能不能长期稳定运行。5.1 非 root 用户的权限配置默认情况下docker 命令需要 root 权限执行。如果团队里有多个开发要使用 Docker不可能把 root 密码分给大家。常规做法是创建专用用户并加入 docker 组sudo useradd devops sudo usermod -aG docker devops sudo mkdir -p /home/devops sudo chown devops:devops /home/devops改完组之后需要重新登录或者执行newgrp docker才能让新的组身份生效。开发用 devops 账号登录后就能直接运行 docker build、docker run 这些命令。这一步解放了权限但对应的风险要跟团队讲清楚docker 组权限等于 root 权限这一点反复强调都不为过。5.2 安全加固方面我坚持的几个习惯不要把 Docker 的 TCP 端口开放到公网。默认 dockerd 只监听本地 Unix socket这是最安全的状态。如果一定要允许远程访问必须启用 TLS 双向证书认证绝不能裸开 2375 端口。不要在业务容器里使用--privileged。这个参数会把宿主机所有设备权限交给容器隔离性形同虚设绝大多数业务场景根本不需要。给容器设置资源上限。跑容器时用--memory 512m --cpus 0.5这类参数限制资源防止某个容器把宿主机 CPU 和内存吃光影响其他服务。镜像来源要可控。生产环境优先从可信仓库拉取官方镜像或内部构建镜像外部来源不明的镜像是风险重灾区能少用就少用。敏感信息不进镜像和启动命令。数据库密码、令牌这类信息用 Docker 安全机制或外部配置中心注入不要直接写在镜像里或者-e环境变量里明文传递。5.3 升级、清理与卸载的完整流程日常升级不需要卸载重装。先拉取仓库元数据再指定要升级的包sudo yum upgrade -y docker-ce docker-ce-cli containerd.io升级前先看一下当前运行中的容器如果重要先做好镜像备份或让业务侧知悉。升级完成后观察一下核心容器的运行情况确认无异常再做其他操作。版本锁定过的服务器升级时记得显式带上版本号不要用裸的yum upgrade docker撞大运。定期清理也很重要。我在生产服务器上固定每个月执行一次docker system df docker image prune -f docker container prune -f docker builder prune -fimage prune只删悬挂镜像builder prune清理构建缓存对正在运行的容器影响很小。彻底一点可以加-a但会把没用的已命名镜像也删掉要谨慎使用。卸载时更要留个心眼。完整卸载包含三件事停服务、卸包、删数据目录sudo systemctl stop docker sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin sudo rm -rf /var/lib/docker sudo rm -rf /etc/dockerrm -rf /var/lib/docker这一步会把所有镜像、容器、卷数据全部销毁而且不可恢复。如果这台机器上还有业务数据先把数据迁走或者导出备份再执行删除。这份谨慎同样适用于日常操作任何涉及数据目录删除的命令执行前先反问自己一句这里面有没有还不能丢的东西我在多台 CentOS 机器上装下来的整体感受是最稳妥的路线其实一句话就能概括先核对系统和内核再配好仓库最后严格按包管理器流程安装启动前把 daemon.json 和内核模块弄干净后面基本不会出什么大问题。很多人装上就忘直到磁盘被日志塞满或升级后起不来才回头查那时候付出的代价远大于一开始花五分钟做基础配置。另外分享一个排查小技巧遇到 Docker 任何异常先去翻 journalctl 和 dmesg 的真实报错别只盯着 systemctl status 前面那两行笼统描述。真实原因往往就藏在日志后几十行里。CentOS 7 已经过了生命周期如果你是在搭新环境我更建议直接选择仍在维护期的系统版本长远看会省下大量维护成本。

相关新闻

JGB28181解析:Java平台接入国标设备的SIP与RTP实战指南

JGB28181解析:Java平台接入国标设备的SIP与RTP实战指南

简介:基于Java实现的GB28181国标平台源码,面向安防视频监控领域的Java开发者和需要对接国标设备的工程师,可用于学习GB28181协议的信令交互、设备注册、目录查询与实时视频流传输实现。压缩包共49个文件,约64KB,以43个…

2026/10/12 4:08:28 阅读更多 →
2026考研408真题高频题型精讲:四科核心考点与实战策略

2026考研408真题高频题型精讲:四科核心考点与实战策略

备考 408 的同学都知道,这门科目真正难的不是某一道题,而是四门专业课被揉在同一张卷子里,知识密度极大,复习周期又长。很多同学刷完一轮基础课后,信心满满地打开真题,结果第一套就做到崩溃:选择…

2026/10/12 4:08:28 阅读更多 →
reverse_re3逆向实战:从二进制分析到校验逻辑还原

reverse_re3逆向实战:从二进制分析到校验逻辑还原

从“拿到一个未知二进制”到“拿到flag”,其实是一条很清晰的链路:先确认文件形态,再锁定核心校验函数,静态还原出变换逻辑,最后用动态调试验证结论,写脚本逆推。这篇文章以我在某个CTF训练平台刷到的 reve…

2026/10/12 4:08:28 阅读更多 →

最新新闻

时间比较函数的坑:时区错乱、夏令时与工程规范实践

时间比较函数的坑:时区错乱、夏令时与工程规范实践

前一阵有个朋友找我调一个线上问题,现象很有意思:同一个时间比较函数,在本地开发环境跑得好好的,一上服务器就结果错乱,凌晨跑批出来的数据总是差了几个小时。我让他先把服务器时区改成 UTC 再看,他愣了一下…

2026/10/12 4:58:55 阅读更多 →
第7代酷睿核显如何装回Win7?改ID移植Skylake驱动全攻略

第7代酷睿核显如何装回Win7?改ID移植Skylake驱动全攻略

简介:INTEL 7代CPU安装WIN7集成显卡驱动资源包,面向需要在Windows 7下驱动HD Graphics 630等核显的装机用户、运维人员与IT爱好者,专门解决7代酷睿在微软停止官方支持后无法直接使用集显的兼容难题。压缩包共660个文件、约354.69MB&#xff0…

2026/10/12 4:58:55 阅读更多 →
VisualSVN Server 3.5.3安装、授权与Web改密实操指南

VisualSVN Server 3.5.3安装、授权与Web改密实操指南

简介:面向需在内网环境中搭建Subversion版本控制系统的开发团队与运维人员,这份资源集成了VisualSVN Server 3.5.3的官方安装程序与配套破解激活工具。除msi安装文件外,压缩包内还有PatchVisualSVN.exe可执行文件、DOCX格式的安装说明、TXT格…

2026/10/12 4:58:55 阅读更多 →
VisualSVN Server 3.5.3:安装、授权激活与Web密码修改全攻略

VisualSVN Server 3.5.3:安装、授权激活与Web密码修改全攻略

简介:面向需要在 Windows 7 或 Windows Server 2008 上搭建 SVN 服务端的开发者与运维人员,这份资源提供了 VisualSVN Server 3.5.3 从安装、破解到 Web 端自助改密码的完整配套。压缩包共 15 个文件,大小约 7.95MB,内含 MSI 安装…

2026/10/12 4:58:54 阅读更多 →
Nacos 3.0 正式发布:MCP Registry、安全零信任、链接更多生态

Nacos 3.0 正式发布:MCP Registry、安全零信任、链接更多生态

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 4:58:54 阅读更多 →
需求缺陷闭环:2026年缺陷管理工具选型指南

需求缺陷闭环:2026年缺陷管理工具选型指南

这几年我陆续给团队选过、换过、也亲手放弃过好几款缺陷管理工具,加起来少说也有七八套。说实话,名字换来换去,真正让人窝火的不是“缺陷单长得丑”,也不是“报表导出不够花哨”,而是需求和缺陷之间始终隔着一堵墙&…

2026/10/12 4:57:54 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →