amd64/ghost注意:这是ghost官方镜像的amd64架构构建的"每架构"仓库——更多信息,请参见官方镜像文档中的"除amd64之外的架构?"和官方镜像FAQ中的"镜像源在Git中已更改,现在该怎么办?"。
维护者:
Docker社区
获取帮助:
Docker Community Slack、Server Fault、Unix & Linux 或 Stack Overflow
6.3.1, 6.3, 6, latest
6.3.1-alpine, 6.3-alpine, 6-alpine, alpine
5.130.5, 5.130, 5
5.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 amd64/ghost
如果希望从主机直接访问实例而无需使用容器IP,可以使用标准端口映射:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://localhost:3001 -p 3001:2368 amd64/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 \ amd64/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 \ amd64/ghost
所有Ghost配置参数(如url)都可以通过环境变量指定。有关允许的配置以及如何将嵌套配置键转换为适当的环境变量名称的详细信息,请参见Ghost文档:
console$ docker run -d --name some-ghost -e NODE_ENV=development -e url=[***] amd64/ghost
(下面列出的compose.yaml中有更多配置示例。)
当在[***]
console$ docker exec <container-id> node --version [node version output]
虽然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: # see [***] database__client: mysql database__connection__host: db database__connection__user: root database__connection__password: example database__connection__database: ghost # this url value is just an example, and is likely wrong for your environment! url: http://localhost:8080 # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) #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或[***](视情况而定)。
amd64/ghost镜像有多种版本,每种版本设计用于特定场景。
amd64/ghost:<version>这是默认镜像。如果您不确定自己的需求,可能需要使用此版本。它设计为既可作为临时容器(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。
amd64/ghost:<version>-alpine此镜像基于流行的Alpine Linux项目,可在alpine官方镜像中获取。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此通常会生成更精简的镜像。
当最终镜像大小尽可能小是您的主要关注点时,此变体非常有用。需要注意的主要问题是它使用musl libc而不是glibc及相关库,因此软件可能会因对libc的依赖/假设深度而遇到问题。有关可能出现的问题以及使用基于Alpine的镜像的优缺点比较,请参见此Hacker News评论线程。
为了最小化镜像大小,基于Alpine的镜像通常不包含其他相关工具(如git或bash)。如果将此镜像用作基础,请在您自己的Dockerfile中添加所需的工具(如果不熟悉如何安装软件包,请参见alpine镜像描述中的示例)。
查看本镜像包含的软件的许可证信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,这些软件可能具有其他许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可证信息可能位于repo-info仓库的ghost/目录中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可证。

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