
Ghost 是一个独立的在线发布平台,支持通过网页和电子邮件通讯进行内容发布。它内置了用户注册、访问权限控制和订阅支付功能(通过 Stripe 集成),让你能够与受众建立直接联系。Ghost 运行速度快、用户友好,基于 Node.js 和 MySQL8 构建。
!logo
6.3.1, 6.3, 6, latest Dockerfile6.3.1-alpine, 6.3-alpine, 6-alpine, alpine Dockerfile5.130.5, 5.130, 5 Dockerfile5.130.5-alpine, 5.130-alpine, 5-alpine Dockerfile以下命令将启动一个 Ghost 开发实例,默认监听 2368 端口(Ghost 标准端口):
console$ docker run -d --name some-ghost -e NODE_ENV=development ghost
如需从主机直接访问实例(无需通过容器 IP),可使用端口映射:
console$ docker run -d \ --name some-ghost \ -e NODE_ENV=development \ -e url=http://localhost:3001 \ # 设置访问 URL -p 3001:2368 \ # 主机端口:容器端口 ghost
成功启动后,可通过 http://localhost:3001 访问网站,通过 http://localhost:3001/ghost 访问管理后台(若使用远程服务器,将 localhost 替换为服务器 IP)。
Ghost 的内容数据(如文章、图片等)需持久化存储以避免容器重启后丢失。可通过绑定主机目录或 Docker 卷实现。
以下示例使用 Alpine 版本镜像,并将主机目录挂载到容器内的内容目录:
console$ docker run -d \ --name some-ghost \ -e NODE_ENV=development \ -e database__connection__filename='/var/lib/ghost/content/data/ghost.db' \ # SQLite 数据库路径(仅开发模式) -p 3001:2368 \ -v /path/to/ghost/blog:/var/lib/ghost/content \ # 主机目录:容器内容目录 ghost:alpine
注意:
database__connection__filename仅在开发模式下有效,用于指定 SQLite 数据库文件路径,必须设置为持久化目录内的可写路径。生产模式下不支持 SQLite,需使用外部 MySQL 服务器(见 5.7 节)。
推荐使用 Docker 命名卷而非直接绑定主机路径,更便于管理:
console$ docker run -d \ --name some-ghost \ -e NODE_ENV=development \ -e database__connection__filename='/var/lib/ghost/content/data/ghost.db' \ -p 3001:2368 \ -v some-ghost-data:/var/lib/ghost/content \ # Docker 卷:容器内容目录 ghost
所有 Ghost 配置参数(如 url)均可通过环境变量指定。配置键与环境变量的转换规则为:嵌套键使用双下划线(__)连接(例如 database.connection.host 对应 database__connection__host)。详细配置说明见 Ghost ***文档。
示例:设置网站 URL 和数据库连接参数
console$ docker run -d \ --name some-ghost \ -e NODE_ENV=development \ -e url=[***] \ -e database__connection__host=db \ -e database__connection__user=root \ ghost
提交 Ghost 相关 issue 时可能需要提供 Node.js 版本,可通过以下命令获取:
console$ docker exec <container-id> node --version vX.Y.Z # Node.js 版本输出
尽管镜像中包含 Ghost-CLI,但许多 CLI 命令在 Docker 环境中无法正常工作,也非设计用于此场景。详细说明见 docker-library/ghost#156。
生产环境下,Ghost 要求使用外部 MySQL 数据库(不支持 SQLite),并需配置 HTTPS 和反向代理(需设置 X-Forwarded-For、X-Forwarded-Host、X-Forwarded-Proto 头)。
以下 compose.yaml 配置启动 Ghost 生产实例和 MySQL 数据库:
yamlservices: ghost: image: ghost:5-alpine # 使用 Alpine 版本 restart: always ports: - 8080:2368 # 可根据需求修改主机端口 environment: # 数据库配置(需与 MySQL 服务参数对应) database__client: mysql database__connection__host: db database__connection__user: root database__connection__password: example # MySQL 密码 database__connection__database: ghost # 数据库名称 url: http://localhost:8080 # 生产环境需替换为实际域名(如 [***] # NODE_ENV: development # 如需开发模式,取消注释此行(默认生产模式) volumes: - ghost:/var/lib/ghost/content # 持久化 Ghost 内容 db: image: mysql:8.0 # Ghost 要求 MySQL 8.0 restart: always environment: MYSQL_ROOT_PASSWORD: example # 与 Ghost 的 database__connection__password 一致 volumes: - db:/var/lib/mysql # 持久化 MySQL 数据 volumes: ghost: # Ghost 内容卷 db: # MySQL 数据卷
启动服务:
console$ docker compose up -d
服务初始化完成后,通过 http://localhost:8080 访问网站(生产环境需配置域名和 HTTPS)。
ghost:<version>(默认镜像)基于 Debian 系统构建,是最常用的镜像版本。适用于大多数场景,兼容性好,包含必要的系统工具。如无特殊需求,推荐使用此版本。
ghost:<version>-alpine(Alpine 版本)基于 Alpine Linux 构建,镜像体积显著更小(Alpine 基础镜像约 5MB),适合对镜像大小有严格要求的场景。
注意:Alpine 使用 musl libc 而非 glibc,部分依赖 glibc 的软件可能存在兼容性问题。如需使用额外工具(如 git、bash),需在 Dockerfile 中手动安装。
使用本镜像时,需确保遵守所有包含软件的许可证要求。
amd64、arm32v6、arm32v7、arm64v8、ppc64le、s390x(详细信息)来自真实用户的反馈,见证轩辕镜像的优质服务
运维工程师
Linux服务器
"Docker加速体验非常流畅,大镜像也能快速完成下载。"
后端开发
Mac桌面
"配置Docker镜像源后,拉取速度快了数倍,开发体验提升明显。"
平台研发
K8s集群
"轩辕镜像在K8s集群中表现很稳定,容器部署速度明显加快。"
测试工程师
Windows桌面
"Docker镜像下载不再超时,测试环境搭建更加高效。"
DevOps工程师
宝塔面板
"配置简单,Docker镜像源稳定,适合快速部署环境。"
资深开发
群晖NAS
"在群晖NAS上配置后,镜像下载速度飞快,非常适合家庭实验环境。"
后端工程师
飞牛NAS
"Docker加速让容器搭建顺畅无比,再也不用等待漫长的下载。"
测试经理
Linux服务器
"镜像源覆盖面广,更新及时,团队一致反馈体验不错。"
云平台工程师
Podman容器
"使用轩辕镜像后,Podman拉取镜像稳定无比,生产环境可靠。"
运维主管
爱快路由
"爱快系统下配置加速服务,Docker镜像拉取速度提升非常大。"
安全工程师
Linux服务器
"镜像源稳定性高,安全合规,Docker拉取无忧。"
架构师
K8s containerd
"大规模K8s集群下镜像加速效果显著,节省了大量时间。"
平台开发
Docker Compose
"配置Compose镜像加速后,整体构建速度更快了。"
技术支持
Windows桌面
"配置简单,镜像拉取稳定,适合日常开发环境。"
DevOps Leader
极空间NAS
"在极空间NAS上使用Docker加速,体验流畅稳定。"
数据工程师
Linux服务器
"Docker镜像源下载速度快,大数据环境搭建轻松完成。"
SRE
宝塔面板
"使用轩辕镜像后,CI/CD流程整体快了很多,值得推荐。"
前端开发
Mac桌面
"国内网络环境下,Docker加速非常给力,前端环境轻松搭建。"
架构师
威联通NAS
"威联通NAS下配置镜像加速后,Docker体验比官方源好很多。"
系统工程师
绿联NAS
"绿联NAS支持加速配置,Docker镜像下载快且稳定。"
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429