使用Docker Compose快捷部署Z-BlogPHP + MySQL
时间:2023年09月15日
/来源:网络
/编辑:佚名
使用 Docker Compose 快捷部署zblogphp + MySQL。
镜像
Z-BlogPHP:https://github.com/zblogcn/zblogphp-docker-image
MySQL:mysql/mysql-server:5.7
前置
# 安装 Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
生成最新版 Docker Compose 安装命令:https://demo.wdssmq.com/tools/GenShell/
使用
1、拉取项目代码并初始化文件:
# 克隆项目文件
git clone https://github.com/wdssmq/zbp-docker-compose.git zbp-dc
# 进入项目文件夹
cd zbp-dc
# 复制配置文件
cp conf/common.env.sample conf/common.env
cp conf/site_zbp_def.env.sample conf/site_zbp_def.env
# ---------------
# 「可选」映射 www 为其他路径
ln -s /home/wwwroot data/www
2、配置conf/*.env变量
common.env内为数据库密码,zbp 和 MySQL 都要使用,两个变量值要一样;
site_zbp_def.env内设置 zbp 管理员的用户名和密码;
3、启动
# 初始运行,会输出各种日志;
# ctrl + c 中止,可多次执行直到不报错
docker-compose up
# 正式运行(后台启动)
# docker-compose down
docker-compose up -d
4、备份及恢复
理论上只需要备份 volumes 指定的宿主机目录即可,默认是./data目录;
恢复时与 docker-compose.yml 文件在同一目录下,或者自行指定实际路径或符号连接;
之后需要设置所需的文件权限,比如data/www目录需要1000:1000用户权限;
# 权限恢复,以实际路径为准
sudo chown -R 1000:1000 data/www
# MySQL 数据
sudo chown -Rv 27:sudo data/mysql
5、其他命令
# 查看配置
docker-compose config
# 重启
docker-compose restart
# 停止
docker-compose stop
# 完全移除容器
docker-compose down
# 查看启动的容器情况
docker-compose ps
# 查看容器输出日志
docker logs $container_name
# 进入容器内部
docker exec -it $container_name /bin/bash
phpMyAdmin 连接管理数据库
如果需要 phpMyAdmin 可单独配置:
# 强制删除容器
docker rm --force phpMyAdmin
docker run --name phpMyAdmin \
--network=zbp-dc_net_web \
-p 9100:80 \
-e PMA_HOST=MySQL \
-e UPLOAD_LIMIT=4096K \
-d phpmyadmin/phpmyadmin
# 关闭(但不删除)
docker stop phpMyAdmin
# 启用
docker start phpMyAdmin
注:
1、-e PMA_HOST=MySQL中MySQL为 docker-compose.yml 文件内定义的服务名;
2、-e UPLOAD_LIMIT=4096K用于设置导入文件的大小限制,可以按需要设置,比如20M;
3、--network=zbp-dc_net_web实际所需需要的值可以执行docker network ls查看;
就是使用执行路径文件夹的名字作为前缀,容器名也是;
docker network ls
# NETWORK ID NAME DRIVER SCOPE
# 8fe33d9c54d0 bridge bridge local
# 4579b81d15b4 host host local
# 2e9e3da577ef none null local
# a620eec8f4dc zbp-dc_net_web bridge local
# 调试命令
sudo docker-compose down && rm -rf data/ && sudo docker-compose up
git地址:https://github.com/wdssmq/zbp-docker-compose
镜像
Z-BlogPHP:https://github.com/zblogcn/zblogphp-docker-image
MySQL:mysql/mysql-server:5.7
前置
# 安装 Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
生成最新版 Docker Compose 安装命令:https://demo.wdssmq.com/tools/GenShell/
使用
1、拉取项目代码并初始化文件:
# 克隆项目文件
git clone https://github.com/wdssmq/zbp-docker-compose.git zbp-dc
# 进入项目文件夹
cd zbp-dc
# 复制配置文件
cp conf/common.env.sample conf/common.env
cp conf/site_zbp_def.env.sample conf/site_zbp_def.env
# ---------------
# 「可选」映射 www 为其他路径
ln -s /home/wwwroot data/www
2、配置conf/*.env变量
common.env内为数据库密码,zbp 和 MySQL 都要使用,两个变量值要一样;
site_zbp_def.env内设置 zbp 管理员的用户名和密码;
3、启动
# 初始运行,会输出各种日志;
# ctrl + c 中止,可多次执行直到不报错
docker-compose up
# 正式运行(后台启动)
# docker-compose down
docker-compose up -d
4、备份及恢复
理论上只需要备份 volumes 指定的宿主机目录即可,默认是./data目录;
恢复时与 docker-compose.yml 文件在同一目录下,或者自行指定实际路径或符号连接;
之后需要设置所需的文件权限,比如data/www目录需要1000:1000用户权限;
# 权限恢复,以实际路径为准
sudo chown -R 1000:1000 data/www
# MySQL 数据
sudo chown -Rv 27:sudo data/mysql
5、其他命令
# 查看配置
docker-compose config
# 重启
docker-compose restart
# 停止
docker-compose stop
# 完全移除容器
docker-compose down
# 查看启动的容器情况
docker-compose ps
# 查看容器输出日志
docker logs $container_name
# 进入容器内部
docker exec -it $container_name /bin/bash
phpMyAdmin 连接管理数据库
如果需要 phpMyAdmin 可单独配置:
# 强制删除容器
docker rm --force phpMyAdmin
docker run --name phpMyAdmin \
--network=zbp-dc_net_web \
-p 9100:80 \
-e PMA_HOST=MySQL \
-e UPLOAD_LIMIT=4096K \
-d phpmyadmin/phpmyadmin
# 关闭(但不删除)
docker stop phpMyAdmin
# 启用
docker start phpMyAdmin
注:
1、-e PMA_HOST=MySQL中MySQL为 docker-compose.yml 文件内定义的服务名;
2、-e UPLOAD_LIMIT=4096K用于设置导入文件的大小限制,可以按需要设置,比如20M;
3、--network=zbp-dc_net_web实际所需需要的值可以执行docker network ls查看;
就是使用执行路径文件夹的名字作为前缀,容器名也是;
docker network ls
# NETWORK ID NAME DRIVER SCOPE
# 8fe33d9c54d0 bridge bridge local
# 4579b81d15b4 host host local
# 2e9e3da577ef none null local
# a620eec8f4dc zbp-dc_net_web bridge local
# 调试命令
sudo docker-compose down && rm -rf data/ && sudo docker-compose up
git地址:https://github.com/wdssmq/zbp-docker-compose
新闻资讯 更多
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法