Docker compose 部署迁移 chevereto
镜像
配置
docker-compose.yml 参考
yml
version: '3'
services:
db:
image: mariadb
volumes:
- ./database:/var/lib/mysql:rw
restart: always
networks:
- private
environment:
MYSQL_ROOT_PASSWORD: xxxxx
MYSQL_DATABASE: xxxxx
MYSQL_USER: xxxxx
MYSQL_PASSWORD: xxxxx
chevereto:
depends_on:
- db
image: nmtan/chevereto
restart: always
networks:
- private
environment:
CHEVERETO_DB_HOST: db
CHEVERETO_DB_USERNAME: xxxxxx
CHEVERETO_DB_PASSWORD: xxxxx
CHEVERETO_DB_NAME: xxxxx
CHEVERETO_DB_PREFIX: chv_
volumes:
- ./images:/var/www/html/images:rw
- ./php.ini:/usr/local/etc/php/php.ini:ro
ports:
- 8080:80
networks:
private:
环境配置
root
目录创建chevereto
文件夹chevereto
文件夹内创建docker-compose.yml
chevereto
文件夹内创建php.ini
修改 php.ini
配置图片上传大小
ini
memory_limit = 256M;
upload_max_filesize = 100M;
post_max_size = 100M;
修改 docker-compose.yml
相关配置
yml
- ./database:/var/lib/mysql:rw
# 挂载数据库到当前目录下的database
- ./images:/var/www/html/images:rw
# 挂载图片文件夹到当前目录下的images
- ./php.ini:/usr/local/etc/php/php.ini:ro
# 挂载php.ini到容器内以配置上传文件大小限制
部署
运行docker-compose
shell
docker-compose up -d
配置images文件夹权限
shell
chmod -R 777 images
停止docker-compose
shell
docker-compose down
配置域名及反向代理
配置域名,证书,301跳转HTTPS及反向代理至8080端口即可完成部署.
迁移
docker环境之间迁移
?> 按照上文流程全新安装,后期如需迁移服务器,只需备份root
内的chevereto
文件夹至新服务器,运行docker-compose up -d
,并配置域名及反向代理即可完成迁移.
常规部署迁移至 docker compose 部署
?> 如需将由常规部署的 chevereto 迁移至 docker compose 部署的环境,请参阅下文:
!> 配置docker-compose.yml
文件内的数据库名,用户名,密码与现有数据库一致.
备份数据库
原始环境使用mysqldump
备份数据库
shell
mysqldump -u user -p database > database.sql
# mysqldump -u 数据库用户名 -p 数据库名 > xxxx.sql
拷贝数据库文件至容器内
shell
docker cp database.sql mariadb:/
进入容器
shell
docker exec -it mariadb /bin/bash
恢复数据库
shell
mysqldump -u user -p database > database.sql
迁移images文件夹
迁移原始images
文件夹内所有文件至docker-compose.yml
所在目录的images
文件夹内.