Sign inSign up

xrbbm/baota

By xrbbm

•Updated almost 5 years ago

Image
0

954

xrbbm/baota repository overview

⁠使用说明

基于 centos7.9 制作,宝塔面板7.7.0,无需特权 (privileged=false)运行,支持服务自启动。由于宝塔内插件和服务比较多,本人没法全部下载测试, 主要讲解决无特权模式下挂载卷的权限问题(有root特权的可以无视...)

⁠注意只挂载这三个目录:
  • /www/wwwlogs -- 网站日志
  • /www/wwwroot -- 网站根目录
  • /www/backup -- 宝塔自动备份文件
⁠7.7.0 集成更多服务,默认启动用户都改为了root,解决挂载目录权限的问题,适合在没有docker特权的设备安装

已集成,如下服务,并测试挂载目录权限无问题、支持服务自启动:

  • redis
  • mysql 5.7
  • php 7.4 5.6
  • nginx 1.2
  • 常用插件
  • npm nodejs
⁠1. 环境变量说明
  • UID: 用户uid 默认 0
  • GID: 用户组gid 默认 0
⁠2. 启动
docker run -d --name baota -p 8888:8888 xrbbm/baota
docker run -d --name baota -v /bt/wwwroot:/www/wwwroot -v /bt/backup:/www/backup -v /bt/wwwlogs:/www/wwwlogs -p 8888:8888 xrbbm/baota

PS: 端口按需开放,这里只写了一个,宝塔常用端口: 8888 3306 80 443 888 20 21。建议还是用host模式,如果用来搭建网站还需要更多端口

⁠3.解决挂载目录读写权限问题
  • ⁠由于容器共享宿主机的uid,启动容器时如果不加特权(privileged=false)也不指定用户,容器内的用户实际是root,但是这个root实际上也只有普通用户的权限,如果想要容器内的用户能读写挂载的卷,就需要使容器内的应用启动用户与容器启动用户uid gid保持一致,以当前宝塔镜像的解决方案就是,nginx mysql php-fpm等服务全部调整为root启动,同时设置挂载目录所属用户、组为 root(0):root(0) : chown -R "$UID":"$GID" /www/wwwroot。
  • ⁠例如:使用admin(假设uid=500)用户运行宝塔,挂载目录为/home/admin/wwwroot:/www/wwwroot,则该目录的所有者uid=500。 宝塔内 nginx 启动用户默认配置为www(假设uid=501) ,nginx 向/www/wwwroot写入文件时自然就失败了,因为www用户无权访问admin所属的目录,此时需要修改nginx配置将nginx启动用户更改为admin。同时chown -R 500:500 /www/wwwroot
⁠4. 其他说明,请参考宝塔官方

https://www.bt.cn/btcode.html⁠

如首次启动无法安装组件,请重启容器!

Tag summary

Content type

Image

Digest

Size

1.4 GB

Last updated

almost 5 years ago

docker pull xrbbm/baota