Typecho非常轻量,用Docker提供生产环境最合适不过了。通过以下步骤可便捷的搭建1.2.1版本的Typecho,完成后使用Nginx Proxy Manager反代一下,体验非常棒!

使用官方镜像搭建

  1. 步骤如下
# 创建目录
mkdir blog && cd blog

# 创建docker-compose.yml
vim docker-compose.yml

# 启动
docker compose up -d

# 停止
docker compose stop
  1. docker-compose.yml
services:
  typecho:
    image: joyqi/typecho:1.2.1-php7.4-apache
    container_name: blog-server
    restart: always
    ports:
      - 8080:80
    volumes:
      - ./app:/app
    environment:
      TIMEZONE: Asia/Shanghai
      TYPECHO_SITE_URL: https://zail.cn
  postgres:
    image: postgres:alpine
    container_name: blog-database
    restart: unless-stopped
    ports:
      - 5433:5432
    shm_size: 256mb
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      TZ: Asia/Shanghai
      LANG: C.UTF-8
      POSTGRES_DB: blog
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 123456

官方镜像扩展

  1. 步骤如下
# 创建Dockerfile
cd blog && vim Dockerfile

# 构建本地镜像
docker compose build
  1. Dockerfile
# 引入官方镜像
FROM joyqi/typecho:1.2.1-php7.4-apache

# 安装 pcntl 扩展
RUN docker-php-ext-install pcntl
  1. docker-compose.yml
services:
  typecho:
    build: ./
    container_name: blog-server
    restart: always
    ports:
      - 8080:80
    volumes:
      - ./app:/app
    environment:
      TIMEZONE: Asia/Shanghai
      TYPECHO_SITE_URL: https://zail.cn
  postgres:
    image: postgres:alpine
    container_name: blog-database
    restart: unless-stopped
    ports:
      - 5433:5432
    shm_size: 256mb
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      TZ: Asia/Shanghai
      LANG: C.UTF-8
      POSTGRES_DB: blog
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 123456

常见问题

  1. 安装时数据库选pgsql,且数据库地址填postgres
  2. 使用Cloudflare的DNS不能登录
# 编辑config.inc.php,在末尾新增
define('__TYPECHO_SECURE__', true);
  1. 原版友链插件不支持pgsql,在懵仙兔兔1.2.7版本基础上增加了pgsql支持,点击下载
分类: 技术 标签: Docker

评论

暂无评论数据

暂无评论数据

目录