本文针对Docker Compose部署Halo博客后external-url配置错误的问题进行了分析。问题表现为友链页面和HTML元数据中显示localhost:8090而非实际域名。原因是数据库配置优先级高于启动参数,首次安装时的默认配置被写入数据库后,即使修改docker-compose.yml也不会自动更新。推荐解决方案:直接连接MySQL数据库,使用SQL语句将extensions表中所有localhost:8090替换为实际域名,重启容器后清除浏览器缓存验证。预防措施是首次部署时在docker-compose.yml中正确配置external-url,确保URL末尾加斜杠。