文件目录:

Traefik2 配置文件一律继承 前面的配置,docker-compose 文件目录如下:

Traefik2 快速搭建 Typecho 步骤

一、 创建目录:

mkdir typecho1 : 创建 typecho1 目录为项目根目录,存放docker-compose.yml文件

mkdir tp-db-data
mkdir typecho

以上两文件夹可自行创建,也可由docker-compose自动创建

touch docker-compose.yml 创建 docker-compose 文件

二、Typecho 的docker-compose配置文件:

version: '3.7'

services:
  db:
    image: mysql:5.7
    container_name: typecho-db-1
    volumes:
      - ./tp-db-data:/var/lib/mysql
    networks:
      - default
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: spuerrootpass
      MYSQL_DATABASE: typecho
      MYSQL_USER: typecho
      MYSQL_PASSWORD: typechodbpass

  typecho:
    depends_on:
      - db
    image: 80x86/typecho:latest
    container_name: typecho-blog-1
    environment:
      PHP_TZ: Asia/Shanghai
      PHP_MAX_EXECUTION_TIME: 600
    volumes:
      - ./typecho:/data
    networks:
      - proxy
      - default
    restart: always
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.typecho-secure.entrypoints=websecure"
      - "traefik.http.routers.typecho-secure.rule=Host(`blog.yourdomain.com`)"
      - "traefik.http.routers.typecho-secure.service=typecho-service"
      - "traefik.http.services.typecho-service.loadbalancer.server.port=80"

volumes:
  tp-db-data:
    name: tp-db-data
  typecho:
    name: typecho  
networks:
  proxy:
    external: true

解释

  1. 选用最热的 typecho镜像:80x86/typecho:latest, 镜像自带Typecho 安装程序,Php 和 Nginx,配置已设置好
  2. 需要给 typecho镜像建一个数据库
  • db部分:

    镜像选用 mysql:5.7,挂载到 typecho1/tp-db-data文件夹下, networks 选择default, 不让typecho以外的容易接触。

  • typecho部分:

    镜像选用 80x86/typecho:latest,配置要求根据镜像使用示例来改:

    镜像数据挂载 在 typecho1/typecho文件夹下,且networks 选择default,proxy,能让Traefik与容器交互。

    原示例【80x86/typecho:latest】

    docker run -d \
    --name=typecho-blog \
    --restart always \
    --mount type=tmpfs,destination=/tmp \
    -v /srv/http/typecho:/data \
    -e PHP_TZ=Asia/Shanghai \
    -e PHP_MAX_EXECUTION_TIME=600 \
    -p 90:80 \
    80x86/typecho:latest
  • 部署要修改 的地方:

    Traefik2 快速搭建 Typecho 步骤

准备好所有文件,一键部署: docker-compose up -d 即可。

三、踩过的坑

volumes:
   - ./typecho:/data

./typecho 要加上./,不加的话文件目录会被 加载到 /var/lib/docker/volumes目录下

文章目录