arm64v8/ghost注意: 这是 ghost 官方镜像 的 arm64v8 架构构建的“每架构”仓库——更多信息,请参阅官方镜像文档中的“除 amd64 外的架构?”和官方镜像常见问题中的“Git 中镜像的源已更改,现在该怎么办?”。
-** 维护者:**Docker 社区
-** 获取帮助:**Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接6.4.0, 6.4, 6, latest
6.4.0-alpine, 6.4-alpine, 6-alpine, alpine
5.130.5, 5.130, 5
5.130.5-alpine, 5.130-alpine, 5-alpine
-** 提交 issue 地址:[*]
-** 支持的架构:**(更多信息)
amd64, arm32v6, arm32v7, arm64v8, ppc64le, s390x
-** 已发布镜像制品详情:**repo-info 仓库的 repos/ghost/ 目录(历史记录)
(镜像元数据、传输大小等)
-** 镜像更新:**official-images 仓库的 library/ghost 标签
official-images 仓库的 library/ghost 文件(历史记录)
-** 本描述的来源:**docs 仓库的 ghost/ 目录(历史记录)
Ghost 是一个独立的在线发布平台,可通过网络和电子邮件通讯发布内容。内置用户注册、访问权限控制和订阅支付(集成 Stripe)功能,帮助与受众建立直接关系。它快速、用户友好,基于 Node.js 和 MySQL8 运行。
Ghost.org
!logo
以下命令将启动一个 Ghost 开发实例,监听默认的 Ghost 端口 2368。
console$ docker run -d --name some-ghost -e NODE_ENV=development arm64v8/ghost
如果希望从主机直接访问实例(无需容器 IP),可使用标准端口映射:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://localhost:3001 -p 3001:2368 arm64v8/ghost
如果一切正常,可通过 http://localhost:3001 访问新站点,通过 http://localhost:3001/ghost 访问 Ghost 管理后台(或分别通过 [***] 和 [***])。
升级主版本前,需确保运行最新的次版本,否则可能遇到数据库错误。
升级 Ghost 容器时,需将数据挂载到旧容器的对应路径(见下文):从管理面板导入内容,停止旧容器,然后将内容重新挂载到升级后的新容器,再从管理面板导出内容。
挂载现有内容。以下示例同时使用基于 Alpine Linux 的镜像。
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 /path/to/ghost/blog:/var/lib/ghost/content \ arm64v8/ghost:alpine
注意:database__connection__filename 仅在开发模式下有效,用于指定 SQLite 数据库文件位置。若使用开发模式,应将其设置为持久化文件夹(绑定挂载或卷)中的可写路径。生产模式下不可用,因为需要外部 MySQL 服务器(见下文 Docker Compose 示例)。
也可使用命名 docker 卷 代替 /var/lib/ghost/content 的直接主机路径:
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 \ arm64v8/ghost
所有 Ghost 配置参数(如 url)均可通过环境变量指定。有关允许的配置项及如何将嵌套配置键转换为环境变量名称的详细信息,请参阅 Ghost 文档:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=[***] arm64v8/ghost
(下文的 compose.yaml 中有更多配置示例。)
在 [***] 提交工单时,需提供所用 Node.js 版本:
console$ docker exec <container-id> node --version [node 版本输出]
虽然 Docker 镜像包含 Ghost-CLI 并使用其部分命令设置基础 Ghost 镜像,但许多其他 Ghost-CLI 命令可能无法正常工作,也并非设计用于此场景。更多信息见 docker-library/ghost#156 (comment)
运行生产环境的 Ghost 还需 MySQL 8、HTTPS 以及配置了适当 X-Forwarded-For、X-Forwarded-Host 和 X-Forwarded-Proto(https)头的反向代理。
以下示例展示了运行 MySQL 所需的部分必要配置。更多详情见 Ghost 的“配置选项”文档。
docker composeghost 的示例 compose.yaml:
yamlservices: ghost: image: ghost:5-alpine restart: always ports: - 8080:2368 environment: # 详见 [***] database__client: mysql database__connection__host: db database__connection__user: root database__connection__password: example database__connection__database: ghost # 此 url 值仅为示例,实际环境需修改! url: http://localhost:8080 # 与链接文档中提到的默认值相反,本镜像默认 NODE_ENV=production(如需开发模式需显式指定) #NODE_ENV: development volumes: - ghost:/var/lib/ghost/content db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: example volumes: - db:/var/lib/mysql volumes: ghost: db:
运行 docker compose up,等待初始化完成后,访问 http://localhost:8080 或 [***](视情况而定)。
arm64v8/ghost 镜像有多种变体,适用于不同场景。
arm64v8/ghost:<version>这是默认镜像。若不确定需求,建议使用此版本。设计用于临时容器(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。
arm64v8/ghost:<version>-alpine此镜像基于流行的 Alpine Linux 项目,来自 alpine 官方镜像。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此生成的镜像通常更精简。
当最终镜像大小是首要考虑因素时,此变体非常有用。需注意的是,它使用 musl libc 而非 glibc 等,因此软件可能因 libc 依赖/假设深度而遇到问题。详见 此 Hacker News 评论线程 讨论可能出现的问题及使用 Alpine 镜像的优缺点。
为最小化镜像大小,Alpine 镜像通常不包含额外相关工具(如 git 或 bash)。若以此镜像为基础,可在自己的 Dockerfile 中添加所需工具(不熟悉的话,见 alpine 镜像描述 中的安装示例)。
查看本镜像包含软件的 许可信息。
与所有 Docker 镜像一样,本镜像可能还包含其他软件,这些软件可能采用其他许可(如基础发行版中的 Bash 等,以及主要软件的任何直接或间接依赖)。
可在 repo-info 仓库的 ghost/ 目录 中找到一些能自动检测到的额外许可信息。
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务