使用Docker官方镜像运行Ghost 无法通过默认端口2368访问问题问询
Ghost Docker部署问题解决方案
未配置端口映射时无法访问2368端口的原因
- Docker容器默认开启网络隔离,未添加
-p端口映射参数时,容器内部的2368端口不会暴露到宿主机网络,因此宿主机直接访问localhost:2368无法得到响应,属于Docker网络机制的正常表现。
端口映射后站点链接全部指向2368端口的修复方案
Ghost服务会根据预设的url参数生成全站所有内部链接,未主动配置时默认用容器内部的2368端口生成链接,导致和宿主机映射的3001端口不匹配,按以下步骤操作即可修复:
- 停止并删除之前创建的异常容器:
docker stop some-ghost2 docker rm some-ghost2
- 新增
url环境变量启动容器,指定实际访问的地址和端口:docker run -d --name some-ghost2 -p 3001:2368 -v some-ghost-data:/var/lib/ghost/content -e url=http://localhost:3001 ghost - 等待服务初始化完成后访问localhost:3001,此时站点内部链接已全部适配3001端口,可正常跳转。
补充说明:若后续需要绑定域名对外提供服务,只需将
url参数的值替换为实际域名即可,示例:-e url=https://example.com
内容的提问来源于stack exchange,提问作者JohnC
相关产品推荐
相关产品推荐

