bitnamicharts/ghostGhost 是一个开源发布平台,专为创建博客、杂志和新闻网站设计。它包含带预览功能的 Markdown 编辑器、主题系统和内置 SEO 工具,简化内容编辑流程。Bitnami 提供的该镜像经过优化,包含初始化脚本、安全配置和持久化支持,可快速部署在容器环境中。
Ghost 官方网站
商标声明:本软件由 Bitnami 打包,相关商标归各自公司所有,使用不代表任何关联或背书。
consoledocker run -d \ --name ghost \ -p 80:8080 \ -e GHOST_USERNAME=admin \ -e GHOST_PASSWORD=StrongPassword123! \ -e GHOST_EMAIL=*** \ -e GHOST_BLOG_TITLE="My Tech Blog" \ -v ghost_data:/bitnami/ghost \ bitnami/ghost:latest
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: ghost: image: bitnami/ghost:latest ports: - "80:8080" - "443:8443" # 若启用 HTTPS environment: # Ghost 核心配置 - GHOST_USERNAME=admin - GHOST_PASSWORD=StrongPassword123! - GHOST_EMAIL=*** - GHOST_BLOG_TITLE="Production Blog" - GHOST_HOST=blog.example.com - GHOST_ENABLE_HTTPS=true # 数据库配置(使用外部 MySQL) - DATABASE_HOST=mysql - DATABASE_PORT=3306 - DATABASE_USER=ghostuser - DATABASE_PASSWORD=ghostdbpass - DATABASE_NAME=ghostdb # SMTP 配置(用于邮件通知) - SMTP_HOST=smtp.example.com - SMTP_PORT=587 - SMTP_USER=*** - SMTP_PASSWORD=smtppass - SMTP_PROTOCOL=tls volumes: - ghost_data:/bitnami/ghost - ghost_apache:/bitnami/apache - ./certificates:/bitnami/ghost/certificates # 挂载 TLS 证书 depends_on: - mysql restart: unless-stopped mysql: image: bitnami/mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=rootpass - MYSQL_DATABASE=ghostdb - MYSQL_USER=ghostuser - MYSQL_PASSWORD=ghostdbpass volumes: - mysql_data:/var/lib/mysql restart: unless-stopped volumes: ghost_data: ghost_apache: mysql_data:
启动服务:
consoledocker-compose up -d
访问 http://localhost 或配置的 GHOST_HOST 即可使用,管理后台位于 /ghost 路径(如 http://localhost/ghost)。
| 参数名 | 描述 | 默认值 |
|---|---|---|
GHOST_USERNAME | 管理员用户名 | user |
GHOST_PASSWORD | 管理员密码(必填) | 随机生成 |
GHOST_EMAIL | 管理员*** | *** |
GHOST_BLOG_TITLE | 博客标题 | User's Blog |
GHOST_HOST | 站点域名(用于 URL 生成) | localhost |
GHOST_PATH | 应用路径前缀 | / |
GHOST_ENABLE_HTTPS | 启用 HTTPS 模式 | false |
ALLOW_EMPTY_PASSWORD | 允许空密码(仅开发环境) | true |
| 参数名 | 描述 | 默认值 |
|---|---|---|
DATABASE_HOST | 数据库主机地址 | mysql |
DATABASE_PORT | 数据库端口 | 3306 |
DATABASE_USER | 数据库用户名 | ghost |
DATABASE_PASSWORD | 数据库密码 | 随机生成 |
DATABASE_NAME | 数据库名称 | ghost |
EXTERNAL_DATABASE_ENABLED | 使用外部数据库(禁用内置) | false |
| 参数名 | 描述 | 默认值 |
|---|---|---|
SMTP_HOST | SMTP 服务器地址 | "" |
SMTP_PORT | SMTP 服务器端口 | "" |
SMTP_USER | SMTP 认证用户名 | "" |
SMTP_PASSWORD | SMTP 认证密码 | "" |
SMTP_SERVICE | 邮件服务提供商(如 gmail) | "" |
SMTP_PROTOCOL | 加密协议(ssl 或 tls) | "" |
| 参数名 | 描述 | 默认值 |
|---|---|---|
PERSISTENCE_ENABLED | 启用持久化存储 | true |
GHOST_DATA_DIR | 数据存储路径 | /bitnami/ghost |
APACHE_DATA_DIR | Apache 配置路径 | /bitnami/apache |
| 参数名 | 描述 | 默认值 |
|---|---|---|
EXTRA_ENV_VARS | 额外环境变量(JSON 格式) | {} |
COMMAND | 覆盖容器启动命令 | [] |
ARGS | 覆盖容器启动参数 | [] |
HEALTHCHECK_ENABLED | 启用健康检查 | true |
DEBUG_MODE | 启用调试模式 | false |
Ghost 容器使用以下路径存储持久化数据:
| 路径 | 用途 |
|---|---|
/bitnami/ghost | 博客内容、主题和配置文件 |
/bitnami/apache | Apache 服务器配置和日志 |
consoledocker run -d \ --name ghost \ -p 80:8080 \ -v /path/on/host/ghost:/bitnami/ghost \ -v /path/on/host/apache:/bitnami/apache \ bitnami/ghost:latest
yamlvolumes: ghost_data: driver: local apache_data: driver: local services: ghost: image: bitnami/ghost:latest volumes: - ghost_data:/bitnami/ghost - apache_data:/bitnami/apache
禁用内置数据库,连接外部 MySQL 或 PostgreSQL:
consoledocker run -d \ --name ghost \ -e EXTERNAL_DATABASE_ENABLED=true \ -e DATABASE_HOST=db.example.com \ -e DATABASE_PORT=3306 \ -e DATABASE_USER=externaluser \ -e DATABASE_PASSWORD=externalpass \ -e DATABASE_NAME=ghostdb \ bitnami/ghost:latest
server.crt)和私钥(server.key)保存到本地目录consoledocker run -d \ --name ghost \ -p 443:8443 \ -e GHOST_ENABLE_HTTPS=true \ -v /path/to/certificates:/bitnami/ghost/certificates \ bitnami/ghost:latest
./themes/my-theme)yamlservices: ghost: image: bitnami/ghost:latest volumes: - ./themes:/bitnami/ghost/content/themes
使用 .env 文件管理配置(适用于 Docker Compose):
env# .env 文件 GHOST_USERNAME=admin GHOST_PASSWORD=StrongPassword123! GHOST_EMAIL=*** DATABASE_HOST=mysql DATABASE_USER=ghostuser DATABASE_PASSWORD=ghostdbpass
在 docker-compose.yml 中引用:
yamlservices: ghost: image: bitnami/ghost:latest env_file: .env
Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,主要变更包括:
latest)的强化镜像(用于开发目的)docker.io/bitnamilegacy 仓库详细信息参见 Bitnami Secure Images 公告。
数据库连接失败:
DATABASE_* 环境变量配置持久化数据丢失:
/bitnami/ghost)root 权限问题)主题不显示:
1001 需要读取权限)邮件发送失败:
SMTP_SERVICE 简化配置(如 SMTP_SERVICE=gmail)console# 容器日志 docker logs ghost # Apache 访问日志 docker exec -it ghost cat /bitnami/apache/logs/access.log # Ghost 应用日志 docker exec -it ghost cat /bitnami/ghost/content/logs/ghost.log

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