arm32v6/ghost注意:这是ghost官方镜像的arm32v6架构专用仓库——更多信息,请参见官方镜像文档中的“除amd64外的架构?”链接以及官方镜像FAQ中的“镜像源在Git中已更改,该怎么办?”链接。
Docker社区
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接6.3.1-alpine, 6.3-alpine, 6-alpine, alpine5.130.5-alpine, 5.130-alpine, 5-alpine[***]
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 arm32v6/ghost
如果希望从主机直接访问实例而无需使用容器IP,可以使用标准端口映射:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://localhost:3001 -p 3001:2368 arm32v6/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 \ arm32v6/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 \ arm32v6/ghost
所有Ghost配置参数(如url)都可通过环境变量指定。有关允许的配置及如何将嵌套配置键转换为相应环境变量名的详细信息,请参见Ghost文档:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=[***] arm32v6/ghost
(下文的compose.yaml中有更多配置示例。)
在[***]
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或[***](视情况而定)。
arm32v6/ghost镜像有多种版本,适用于不同使用场景。
arm32v6/ghost:<version>这是默认镜像。如果不确定需求,建议使用此版本。它既可作为临时容器(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。
arm32v6/ghost:<version>-alpine此镜像基于流行的Alpine Linux项目,来自alpine官方镜像。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此通常生成更精简的镜像。
当最终镜像大小尽可能小是主要关注点时,此变体非常有用。需要注意的是,它使用musl libc而非glibc及相关库,因此软件可能因libc需求/假设的深度而遇到问题。有关可能出现的问题及使用Alpine-based镜像的优缺点比较,参见此Hacker News评论线程。
为最小化镜像大小,Alpine-based镜像通常不包含额外相关工具(如git或bash)。如需使用,请以此镜像为基础,在自己的Dockerfile中添加所需工具(如不熟悉如何安装包,参见alpine镜像描述中的示例)。
查看本镜像中包含软件的许可证信息。
与所有Docker镜像一样,本镜像可能还包含其他软件,这些软件可能采用其他许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
一些能够自动检测到的额外许可证信息可能位于repo-info仓库的ghost/目录中。
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用都符合其中包含的所有软件的相关许可证。

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