docker 安装最小化带数据库多网站 示例,安装前看看目录结构,如需要修改,先研究一下。
Debian 11、12系统适用,与其它方式安装不冲突
一、目录结构
/home/html/docker/web1/
├── docker-compose.yml
├── Caddyfile
├── public/(网站文件存放目录public)
├── public1/(网站文件存放目录public1)
├── public2/(网站文件存放目录public2)
├── public3/(网站文件存放目录public3)
├── public4/(网站文件存放目录public4)
等
├── php/
│ └── Dockerfile
└── data/ (一个数据库,安装后数据库文件会自动生成)
二、安装前准备:
1、相关升级
apt update && apt upgrade -y && apt install -y curl wget unzip zip
2、安装好 docker compose
curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin
三、创建目录结构和三个需要文件
1、创建目录并给予相应775权限
sudo mkdir -p /home/html/docker/web1/php/
sudo mkdir -p /home/html/docker/web1/public && sudo chown -R www-data:www-data /home/html/docker/web1/public && sudo chmod -R 775 /home/html/docker/web1/public
2、添加 web1 775权限
sudo chown -R www-data:www-data /home/html/docker/web1 && sudo chmod -R 775 /home/html/docker/web1
3、下载三个需要文件
下载docker-compose.yml文件【一定要修改数据库中的两个密码,安装多站点时要相应修改配置 】
cd /home/html/docker/web1/
wget https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/docker/typecho/docker-compose.yml
下载Caddyfile文件【下载后记事本打开,修改好解析的域名,安装多站点时也要添加相应域名配置 】
cd /home/html/docker/web1/
wget https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/docker/typecho/Caddyfile
下载Dockerfile文件
cd /home/html/docker/web1/php/
wget https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/docker/typecho/Dockerfile
4、下载官方 Typecho 安装包或上传后解压【已测试正常】
cd /home/html/docker/web1/public/
wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip
unzip typecho.zip
rm typecho.zip
四、以上步骤完成后启动【1检查域名配置文件 Caddyfile 是否配置好,2检查 docker-compose.yml 中的数据库密码等是否修改,如果是多站点时,是否已添加多站点的配置】
cd /home/html/docker/web1/
docker-compose up -d
五、打开网站安装,安装时如会出现 uploads 权限问题,给予权限,其它小问题按提示解决或刷新网页重新安装
数据库地址: db 或用默认
数据库名: web1
用户名: web1
密码: web1pass123 【或修改后的密码】
⚡ 如果你要再装第二个、第三个或多网站,只需要在 /home/html/docker/web1/ 下新建文件夹public1、public2、public3等,然后在 docker-compose.yml 里添加好相应配置,域名配置 Caddyfile 文件也要添加好域名
以此类推
六、🚀 迁移步骤(最简洁)
旧 VPS 打包,打包整个项目目录,包括数据库。
cd /home/html/docker/ zip -q -r /home/backup$(date +%Y%m%d%H%M).zip web1
或
cd /home/html/docker/ tar -czvf typecho1_backup$(date +%Y%m%d%H%M).tar.gz web1
- 把备份传输到新 VPS或手动下载后再上传到新vps上
- 新 VPS 解压 & 启动
进入目录并启动:
cd /home/html/docker/web1/
docker-compose up -d
✅ 总结
1、这种方式安装,数据库数据 已经在 data/ 挂载目录里,所以无需单独 mysqldump 导出导入。
2、整个 web1 项目文件夹就是完整环境,直接打包迁移即可。
3、在新 VPS 上只需要 docker-compose up -d,就能恢复完整博客,方便迁移和备份,适合折腾。
4、可以快捷的一个vps中添加更多的网站
评论 (0)