迁移 docker部署的typecho

2023.3.26

使用三个容器联动的方式:

typecho博客程序, 从 docker hub的typecho官方提供的镜像下拉.

注意:不要使用最新版 1.3.0!会导致主题 Handsome不可用。在标签搜索中可以找到 1.2.1以及以往版本。

mysql数据库

php my admin数据库管理工具

typecho

有三个映射, 分别是

主机容器
imaaages/app/imaaages
usr/app/usr
/var/lib/docker/volumes/app

最后一个由 docker自动创建, 我在备份的时候没有选择备份.

前面两个需要备份打包起来!

使用 tar命令打包成压缩包

tar -czvf usr.tar.gz ./usr

最终得到两个压缩包 usr.tar.gzimaaages.tar.gz

mysql

负责存储博客的很多东西, 例如文章, 评论, 用户等.

只有一个容器卷映射, 目标为 /var/lib/mysql, 直接打包即可

创建新 mysql容器时需要直接设置容器卷映射为解压出来的文件夹位置, 不能让他自己建立映射然后再手动移动数据过去, 会不可用!!!

由于使用docker-compose进行部署,三个容器处于同一网络下,可以在不暴露公网端口的情况下互相访问,因此不需要设置mysql的端口映射

phpmyadmin

没有容器卷映射, 不需要备份.

docker-compose

version: "3"

services:
  typecho-app:
    image: joyqi/typecho:1.2.1-php7.3-apache
    container_name: typecho-app
    ports:
      - "8000:80"
    volumes:
      - "/root/data/docker_data/typecho/usr:/app/usr"
      - "/root/data/docker_data/typecho/imaaages:/app/imaaages"
    restart: always


  typecho-db:
    image: mysql:5.7
    container_name: typecho-db
    volumes:
      - "/root/data/docker_data/typecho-db/data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: password
    restart: always
  
  typecho-pma:
    image: phpmyadmin
    container_name: typecho-pma
    environment:
      PMA_HOST: "typecho-db"
      PMA_PORT: 3306
    ports:
      - "6061:80"
    restart: always

2025.3.24

后来发现其实 phpmyadmin没啥用,就不用了。但是还是要用 1.2.1版本的typecho,以适配 handsome主题

最后修改:2025 年 03 月 24 日
如果觉得我的文章对你有用,请随意赞赏