在 docker 上部署 Ghost 博客网站
Ghost 是使用 Node.js 语言编写的开源博客平台,使用 Ghost 可以快速搭建博客,简化在线出版过程。
- 安装 docker 和 docker-compose (如果还没有安装)
# 建议用 root 用户运行
# install docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh ./get-docker.sh
# install docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 安装 MySQL 或 MariaDB 数据库,安装 MariaDB 可参考我写的安装教程
- 创建 Ghost 的数据库和用户,运行 mariadb 命令,进入数据库命令行,然后键入下面命令
sudo mariadb
CREATE DATABASE ghost;
GRANT ALL ON ghost.* TO 'ghostuser'@'%' IDENTIFIED BY 'superstrongpassword';
4. 创建 Ghost docker 的安装目录
# 可以是任意目录
sudo mkdir -p /docker/ghost
- 创建 Ghost docker-compose 安装的 yml 文件
# 在安装目录下创建并打开编辑 docker-compose.yml 文件
sudo nano /docker/ghost/docker-compose.yml
在编辑器里把下面内容复制进去,自己修改端口号,域名和数据库信息
version: "3"
services:
ghost:
image: ghost:latest
container_name: ghost
restart: always
ports:
- "2368:2368" # 左边的端口号可以自己修改
environment:
url: https://blog.yourdomain.com
database__client: mysql # 这里就用mysql,mariadb是mysql的分支
database__connection__host: 172.17.0.1
database__connection__user: ghostuser
database__connection__password: superstrongpassword
database__connection__database: ghost
volumes:
- ./content:/var/lib/ghost/content
完成后按 Ctrl+x (退出), 然后输入 y (保存),然后回车
- 安装 Ghost
在 /docker/ghost 目录下运行
sudo docker-compose up -d
安装完成,你可以用 IP 和端口号打开 Ghost 博客了。如果要用域名访问,还需要额外设置,以后会另发教程
http://your-server-ip:2368