从零搭建私有Docker仓库:HTTPS认证、生产部署与运维指南
1. 项目概述为什么你需要一个私有的Docker仓库在容器化开发与部署已经成为主流的今天Docker镜像就像我们软件项目的“集装箱”。Docker Hub作为公共的镜像市场方便快捷但直接把公司内部的应用镜像、中间件定制镜像甚至包含敏感配置的镜像推送到公共平台无异于把商业代码和核心资产放在公共广场上。这就是私有Docker仓库Private Docker Registry存在的核心价值它让你在内部网络或者可控的云环境中拥有一个完全属于自己的、安全的镜像分发中心。想象一下这个场景你的团队开发了一个微服务经过CI/CD流水线构建成了镜像。如果直接使用公共仓库你面临镜像拉取速度慢尤其在国内、有推送次数限制、安全审计困难等一系列问题。而一个部署在内网的私有仓库不仅拉取速度飞快还能严格管控镜像的读写权限记录每一次推送和拉取的操作日志实现从开发、测试到生产环境的全链路镜像版本管理。最近网络热词里频繁出现的“docker部署微服务项目”其顺畅与否很大程度上就依赖于一个稳定、高效的私有镜像仓库作为基石。我自己在多个项目里搭建和维护过私有仓库从简单的单机测试用到支撑上百个服务的高可用生产集群。可以说这是容器化落地中继学会写Dockerfile之后最应该掌握的基础设施技能之一。它不复杂但配置上的细节决定了后期的稳定性和运维成本。接下来我就带你从零开始手把手搭建一个功能完备的私有Docker仓库并分享那些官方文档里不会写的“踩坑”经验。2. 核心方案选型与设计思路搭建私有Docker仓库核心是运行一个符合OCIOpen Container Initiative分发规范的Registry服务。你有多个选择但最主流、最官方的方案就是使用Docker官方开源的registry:2镜像。它轻量、稳定功能足够满足绝大多数私有化场景的需求。当然也有Harbor这样的企业级产品它是在官方Registry之上增加了图形化界面、用户权限管理、漏洞扫描等高级功能。但对于入门和大多数中小团队从官方Registry入手是最直接的选择。我们的设计目标很明确搭建一个安全、持久、可通过HTTPS访问的私有仓库。这意味着我们需要解决几个关键问题存储持久化默认情况下Registry容器内的镜像数据是临时的容器重启就没了。我们必须将存储卷挂载到宿主机或外部存储系统。访问安全绝不允许一个没有认证的仓库暴露在公网甚至内网中。我们将配置基于用户名密码的HTTP基本认证。传输安全避免使用不安全的HTTP协议配置TLS证书以启用HTTPS。对于内部测试我们也可以了解如何配置Docker客户端信任自签名证书。管理便捷虽然官方Registry没有UI但我们可以通过Docker命令或简单的脚本进行管理并探讨如何查看仓库中的镜像列表这是一个常见的需求但Registry V2 API默认不直接提供。整个架构非常简单在一台Linux服务器上通过Docker运行Registry容器配置好认证、证书和数据卷。其他机器上的Docker客户端配置信任该仓库地址后即可进行docker push和docker pull。3. 环境准备与依赖安装3.1 服务器基础环境首先你需要一台服务器。可以是物理机、虚拟机或者云服务器。操作系统推荐使用Ubuntu 20.04/22.04 LTS或CentOS 7/8及其衍生版。确保服务器有固定的IP地址并且假设我们计划使用的域名是registry.yourcompany.com在实际操作中请替换为你自己的域名或IP。第一步更新系统并安装必要的工具# 对于Ubuntu/Debian sudo apt-get update sudo apt-get upgrade -y sudo apt-get install -y curl vim net-tools # 对于CentOS/RHEL sudo yum update -y sudo yum install -y curl vim net-tools3.2 Docker引擎安装与验证私有仓库本身就是一个Docker容器所以宿主机必须先安装Docker Engine。如果你已经安装可以跳过。这里以Ubuntu为例简述安装过程# 1. 卸载旧版本如有 sudo apt-get remove docker docker-engine docker.io containerd runc # 2. 安装依赖包允许apt通过HTTPS使用仓库 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release # 3. 添加Docker官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 4. 设置稳定版仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 5. 安装Docker Engine sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin安装完成后启动Docker服务并设置开机自启sudo systemctl start docker sudo systemctl enable docker验证安装是否成功运行一个Hello-world容器sudo docker run hello-world如果能看到欢迎信息说明Docker安装正确。这里有一个关键注意事项如果你在Windows或Mac上使用Docker Desktop并且遇到了类似“docker desktop failed to start because virtualisation support wasn’t detected”的错误这通常是因为宿主机你的电脑的虚拟化支持如Intel VT-x/AMD-V没有在BIOS/UEFI中启用或者被其他软件如某些安卓模拟器、旧版Hyper-V占用。你需要进入BIOS设置启用虚拟化技术并确保WSL2或Hyper-V已正确安装和配置。但在Linux服务器环境下我们直接使用Docker Engine通常不会遇到此问题。3.3 创建必要的目录与文件我们将把所有配置和数据集中管理。创建一个工作目录例如/opt/docker-registry。sudo mkdir -p /opt/docker-registry/{auth,certs,data}auth/: 用于存放HTTP基本认证的密码文件。certs/: 用于存放TLS证书和私钥。data/: 用于挂载给Registry容器持久化存储镜像数据。4. 配置HTTPS与用户认证4.1 生成TLS证书自签名在生产环境你应该使用由受信任的CA如Let‘s Encrypt签发的证书。但对于内部测试或开发环境自签名证书是快速可行的方案。我们使用openssl生成证书。假设你的服务器IP是192.168.1.100域名是registry.yourcompany.com。你需要将域名解析到该IP或者在测试机的/etc/hosts文件中添加一条记录192.168.1.100 registry.yourcompany.com。生成证书cd /opt/docker-registry/certs # 生成私钥 sudo openssl genrsa -out registry.yourcompany.com.key 4096 # 生成证书签名请求(CSR) sudo openssl req -new -key registry.yourcompany.com.key -out registry.yourcompany.com.csr \ -subj /CCN/STBeijing/LBeijing/OYourCompany/OUDev/CNregistry.yourcompany.com # 生成自签名证书有效期为365天 sudo openssl x509 -req -days 365 -in registry.yourcompany.com.csr -signkey registry.yourcompany.com.key -out registry.yourcompany.com.crt执行后certs目录下会生成.key私钥、.csr证书请求文件可忽略和.crt证书文件。重要安全提示私钥文件.key必须严格保密权限应设置为仅root可读。4.2 创建用户认证文件Registry支持使用htpasswd格式的文件进行简单的HTTP基本认证。我们需要apache2-utils包Ubuntu或httpd-tools包CentOS来创建这个文件。# Ubuntu sudo apt-get install -y apache2-utils # CentOS sudo yum install -y httpd-tools # 创建认证文件并添加第一个用户例如admin cd /opt/docker-registry/auth sudo htpasswd -Bbc registry.htpasswd admin YourStrongPassword123 # -B: 强制bcrypt加密更安全 # -c: 创建新文件仅第一次创建时使用后续添加用户不要加-c否则会覆盖这条命令会创建一个名为registry.htpasswd的文件里面包含用户admin和其经过bcrypt哈希加密的密码。切记后续添加新用户时使用不带-c参数的htpasswd -Bb命令例如sudo htpasswd -Bb registry.htpasswd developer AnotherPassword。5. 启动与配置私有仓库容器现在我们可以启动Registry容器了。我们将使用Docker命令行直接运行这比写docker-compose.yml更直观。命令虽长但每个参数都有其作用。sudo docker run -d \ --name docker-registry \ --restartalways \ -p 443:443 \ -v /opt/docker-registry/data:/var/lib/registry \ -v /opt/docker-registry/auth:/auth \ -v /opt/docker-registry/certs:/certs \ -e REGISTRY_AUTHhtpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALMRegistry Realm \ -e REGISTRY_AUTH_HTPASSWD_PATH/auth/registry.htpasswd \ -e REGISTRY_HTTP_ADDR0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE/certs/registry.yourcompany.com.crt \ -e REGISTRY_HTTP_TLS_KEY/certs/registry.yourcompany.com.key \ registry:2让我们拆解这个命令-d: 后台运行容器。--name docker-registry: 为容器命名。--restartalways: 设置容器总是重启确保服务高可用。-p 443:443: 将宿主机的443端口映射到容器的443端口因为我们用HTTPS。-v ...:/var/lib/registry: 将宿主机目录挂载到容器内Registry的默认数据目录实现数据持久化。-v ...:/auth和-v ...:/certs: 挂载认证文件和证书目录。-e REGISTRY_AUTHhtpasswd: 启用htpasswd认证方式。-e REGISTRY_AUTH_HTPASSWD_REALM: 认证域提示信息。-e REGISTRY_AUTH_HTPASSWD_PATH: 指定认证文件在容器内的路径。-e REGISTRY_HTTP_ADDR: 设置Registry服务监听地址和端口。-e REGISTRY_HTTP_TLS_CERTIFICATE和..._TLS_KEY: 指定TLS证书和私钥的路径。registry:2: 使用官方Registry的2.x版本镜像。运行后使用sudo docker ps查看容器状态确认其正常运行。你可以用sudo docker logs docker-registry查看启动日志确保没有报错。6. 客户端配置与基础操作仓库服务跑起来了现在需要让其他Docker客户端能够找到并信任它。6.1 配置客户端信任自签名证书Linux/Mac由于我们使用的是自签名证书客户端Docker守护进程默认不信任它。我们需要将之前生成的.crt证书文件分发到客户端机器并让Docker信任它。将证书拷贝到客户端机器将/opt/docker-registry/certs/registry.yourcompany.com.crt文件复制到客户端的某个目录例如/usr/local/share/ca-certificates/。更新证书信任链# Ubuntu/Debian sudo cp registry.yourcompany.com.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates # CentOS/RHEL sudo cp registry.yourcompany.com.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust修改Docker守护进程配置Docker守护进程需要单独配置对私有仓库的信任。编辑或创建/etc/docker/daemon.json文件。{ insecure-registries: [], registry-mirrors: [], live-restore: true }在insecure-registries数组中不要添加我们的HTTPS仓库地址。insecure-registries仅用于纯HTTP的不安全仓库。对于自签名HTTPS我们需要另一种方式将我们的CA证书就是那个.crt文件放到Docker的证书目录。Docker的证书目录通常是/etc/docker/certs.d/registry-host:port/。我们需要创建这个目录并放入证书。sudo mkdir -p /etc/docker/certs.d/registry.yourcompany.com:443 # 假设证书文件在当前目录 sudo cp registry.yourcompany.com.crt /etc/docker/certs.d/registry.yourcompany.com:443/ca.crt关键点证书文件名必须是ca.crt。目录结构必须严格是/etc/docker/certs.d/仓库主机:端口/。如果仓库使用默认的5000端口且是HTTP则端口可省略但我们是HTTPS 443端口必须指明。重启Docker守护进程sudo systemctl restart docker6.2 登录、推送与拉取镜像配置完成后就可以操作私有仓库了。登录仓库docker login registry.yourcompany.com:443输入之前创建的用户名如admin和密码。成功后会提示Login Succeeded。登录信息会保存在~/.docker/config.json中。标记并推送镜像 假设我们本地有一个nginx:latest镜像想推送到私有仓库。# 给本地镜像打上私有仓库的标签 docker tag nginx:latest registry.yourcompany.com:443/my-nginx:v1.0 # 推送镜像 docker push registry.yourcompany.com:443/my-nginx:v1.0推送时你会看到上传进度。完成后镜像就安全地存储在你的私有仓库里了。从私有仓库拉取镜像 在其他已经配置好证书和登录的机器上可以直接拉取docker pull registry.yourcompany.com:443/my-nginx:v1.06.3 查看仓库中的镜像列表官方Registry V2 API为了安全和高性能默认不提供列出所有镜像的接口。但我们可以通过调用其API来获取信息。这是一个非常实用的技巧。首先确保你已经登录docker login。然后可以使用以下命令列出仓库中的所有镜像仓库项目curl -u admin:YourStrongPassword123 -X GET https://registry.yourcompany.com:443/v2/_catalog这会返回一个JSON如{repositories:[my-nginx]}列出了所有顶层仓库名。列出某个镜像仓库的所有标签curl -u admin:YourStrongPassword123 -X GET https://registry.yourcompany.com:443/v2/my-nginx/tags/list这会返回如{name:my-nginx,tags:[v1.0]}的JSON。实操心得将这些curl命令封装成脚本或者使用一些开源的小工具如reg客户端可以方便日常管理。另外如果你需要更直观的UI可以考虑搭建Harbor或者使用像portus、docker-registry-ui这样的第三方前端。7. 生产环境进阶配置与优化基础的仓库搭建完成了但要用于生产还需要考虑更多。7.1 使用外部存储默认的本地文件系统存储/var/lib/registry适合小规模使用。当镜像数量巨大时应考虑使用外部存储后端如云存储AWS S3, Google Cloud Storage, Aliyun OSS等或分布式存储Ceph MinIO。这可以通过环境变量REGISTRY_STORAGE_*来配置。例如配置使用AWS S3假设你已配置好AWS凭证-e REGISTRY_STORAGEs3 \ -e REGISTRY_STORAGE_S3_ACCESSKEYYOUR_ACCESS_KEY \ -e REGISTRY_STORAGE_S3_SECRETKEYYOUR_SECRET_KEY \ -e REGISTRY_STORAGE_S3_REGIONus-east-1 \ -e REGISTRY_STORAGE_S3_BUCKETmy-docker-registry \ -e REGISTRY_STORAGE_S3_ROOTDIRECTORY/docker \ -e REGISTRY_STORAGE_S3_ENCRYPTtrue \ -e REGISTRY_STORAGE_S3_SECUREtrue \ -e REGISTRY_STORAGE_S3_V4AUTHtrue \ -e REGISTRY_STORAGE_S3_CHUNKSIZE5242880 \ -e REGISTRY_STORAGE_S3_MULTIPARTCOPIECHUNKSIZE33554432 \ -e REGISTRY_STORAGE_S3_MULTIPARTCOPIETHREADCOUNT100 \ -e REGISTRY_STORAGE_S3_MULTIPARTCOPYMAXCONCURRENCY100 \ -e REGISTRY_STORAGE_S3_MULTIPARTCOPYTHRESHOLD33554432 \使用外部存储的好处是存储可扩展、高可用并且便于做数据备份和迁移。7.2 启用垃圾回收Garbage Collection镜像被多次推送和删除后仓库中会残留一些未被引用的数据层Blobs占用磁盘空间。Registry提供了垃圾回收功能来清理它们。重要警告垃圾回收必须在仓库停止服务的情况下进行否则可能导致数据损坏。# 1. 进入仓库容器 sudo docker exec -it docker-registry sh # 2. 在容器内执行垃圾回收干跑模式只报告不删除 registry garbage-collect --dry-run /etc/docker/registry/config.yml # 3. 如果干跑结果符合预期停止仓库服务后再执行真实删除 # 首先在宿主机停止容器 sudo docker stop docker-registry # 然后以临时方式启动一个容器执行GC sudo docker run --rm --entrypoint /bin/registry -v /opt/docker-registry/data:/var/lib/registry registry:2 garbage-collect /etc/docker/registry/config.yml # 4. 重新启动仓库容器 sudo docker start docker-registry避坑技巧建议将GC操作写成脚本并在业务低峰期如深夜通过定时任务执行。执行前务必做好数据卷备份。7.3 使用Docker Compose编排对于生产环境使用docker-compose.yml管理服务更清晰也便于版本控制和复用。创建一个docker-compose.yml文件version: 3.8 services: registry: image: registry:2 container_name: docker-registry restart: always ports: - 443:443 environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.htpasswd REGISTRY_HTTP_ADDR: 0.0.0.0:443 REGISTRY_HTTP_TLS_CERTIFICATE: /certs/registry.yourcompany.com.crt REGISTRY_HTTP_TLS_KEY: /certs/registry.yourcompany.com.key # 可选配置日志级别 REGISTRY_LOG_LEVEL: info volumes: - ./data:/var/lib/registry - ./auth:/auth - ./certs:/certs networks: - registry-net networks: registry-net: driver: bridge然后使用docker-compose up -d启动服务使用docker-compose logs -f查看日志管理起来非常方便。8. 常见问题排查与运维技巧即使按照步骤操作也可能会遇到问题。这里记录几个我踩过的坑和解决方法。8.1 问题客户端推送镜像时报错x509: certificate signed by unknown authority原因客户端Docker没有正确信任私有仓库的自签名证书。解决确认证书文件ca.crt是否已正确放置在/etc/docker/certs.d/registry.yourcompany.com:443/目录下。确认证书目录和文件名完全正确特别是端口号。执行sudo systemctl restart docker重启Docker守护进程。对于Docker Desktop on Mac/Windows信任证书的方式不同。你需要将.crt文件导入到系统或Docker Desktop的CA证书库中。在Docker Desktop的设置Settings- Docker Engine - TLS certificates 部分可以指定CA证书路径或者直接将证书内容添加到~/.docker/certs.d/相应目录并重启Docker Desktop。8.2 问题推送镜像时卡住或报错received unexpected HTTP status: 500 Internal Server Error原因这通常是Registry服务端错误。查看Registry容器日志是首要步骤sudo docker logs docker-registry --tail 100。常见子原因及解决存储卷权限问题确保宿主机挂载目录如/opt/docker-registry/data对容器内的用户通常是UID 1000有写权限。可以尝试sudo chown -R 1000:1000 /opt/docker-registry/data。认证文件格式错误确保使用htpasswd -B生成的bcrypt格式密码。旧的crypt格式可能不被支持。可以用htpasswd -v registry.htpasswd admin验证密码。内存或磁盘不足检查服务器资源使用情况。8.3 问题如何清理旧的镜像标签以释放空间Registry本身不提供按标签删除的简单命令。你需要通过API先删除标签的Manifest再执行垃圾回收。获取镜像的Manifest摘要Digestcurl -u admin:password -H Accept: application/vnd.docker.distribution.manifest.v2json -I -X HEAD https://registry.yourcompany.com:443/v2/my-nginx/manifests/v1.0在返回的响应头中找到Docker-Content-Digest字段。删除Manifestcurl -u admin:password -X DELETE https://registry.yourcompany.com:443/v2/my-nginx/manifests/sha256:xxxx...将sha256:xxxx...替换为实际的Digest值。执行垃圾回收见7.2节。重要警告删除操作不可逆且必须配合垃圾回收才能真正释放空间。建议先备份或确认无误后再操作。8.4 运维技巧定期备份与监控备份定期备份你的数据卷/opt/docker-registry/data和认证文件、证书。如果使用外部存储确保启用存储桶的版本控制或定期快照。监控监控仓库容器的运行状态docker ps、资源使用CPU、内存、磁盘以及日志中的错误信息。可以配置日志驱动将日志发送到ELK或Loki等集中日志系统。性能如果发现拉取推送变慢可以考虑为Registry容器增加资源限制CPU、内存或者如前所述使用高性能的外部存储后端。对于高并发场景可以在前面加一个Nginx做负载均衡和缓存。搭建和维护一个私有Docker仓库是构建稳健容器化体系的关键一步。从简单的单机部署到支持高可用的集群其核心原理是相通的。理解每一步配置背后的意义能让你在遇到问题时快速定位。希望这份从零到生产的详细指南能帮你顺利搭建起属于自己的镜像堡垒。

相关新闻

把 AI 放进受控系统:一套让 AI 真正为你工作的方法论

把 AI 放进受控系统:一套让 AI 真正为你工作的方法论

ㅤ作者:黑夜路人时间:2026 年 8 月ㅤㅤ今天的大模型已经足够强大:能写作、能编程、能查资料、能分析数据,还能调用工具,替人完成跨系统的复杂任务。但「能力强」不等于「可以放心使用」。当 AI 开始修改文件、发送消息…

2026/10/24 14:33:55 阅读更多 →
从错误现场到可重复实验,SAP Gateway Client 与 Payload Trace 的联动排错机制

从错误现场到可重复实验,SAP Gateway Client 与 Payload Trace 的联动排错机制

一个 SAP Fiori 应用在浏览器里调用 OData 服务,页面突然弹出保存失败。前端同事打开 Chrome DevTools,看到一个 HTTP 500。ABAP 同事进入后台检查代码,却发现直接执行相关逻辑没有异常。到了移动端场景,情况还会更麻烦,原始请求可能来自 SAP Service and Asset Manager 这…

2026/10/25 1:16:18 阅读更多 →
Java 30年最大变革:一文彻底读懂 JEP 401 Value Objects

Java 30年最大变革:一文彻底读懂 JEP 401 Value Objects

摘要:Value Objects 是 Java 语言演进史上一次触及根本的变革,源自 Project Valhalla 长达十余年的探索。它通过消除对象身份、移除对象头与间接引用,让对象像基本数据类型一样紧凑高效地驻留内存,彻底化解了自 1995 年“二元类型…

2026/10/23 22:20:09 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 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/27 13:55:19 阅读更多 →
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/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练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/27 19:19:37 阅读更多 →