迁移 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.gz
和 imaaages.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
主题