OMV 5.x 使用Docker 安装 Kodbox:v1.19时出现对象为空的异常
- 已编辑
dragonfly
已经改成了
docker run -d -p 8080:80 --name kodbox \
--restart=always \
-v /data/kodbox:/var/www/html \
-e MYSQL_SERVER=192.168.1.4 \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=liucao \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=kodbox \
-e SESSION_TYPE=redis \
-e SESSION_HOST=192.168.1.4 \
-e SESSION_PORT=6379 \
kodcloud/kodbox:v1.19
dragonfly
安装是成功了,但是上传文件失败,应该是文件权限问题。
我是在 openmediavault 环境下的docker安装的,很多人也有用这个开源的NAS系统上搭建一些nas应用。我的磁盘 volumn 映射的是一硬盘矩阵上一个做的一个分享目录。
目录虽然是开启的777的权限但还是不行。。。
像 linuxserver/nextcloud
这个docker 镜像提供了设置用户和用户组的变量(PUID、PGID)如下:
docker run -d -p 443:443 --name nextcloud \
--restart=unless-stopped \
-e PUID=1000 \
-e PGID=100 \
-e TZ=Asia/Shanghai \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/nextcloud/config:/config \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/nextcloud/data:/data \
linuxserver/nextcloud
/srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177
像这个目录就是硬盘矩阵上设置的一个共享目录的地址,它就能正常的上传下载,这两个参数就可以很好的控制目录的访问权限问题。
一切都是只是猜测,具体还没实践过,不知道是不是100%因为这个访问权限的问题导致的。
linuxserver 制作了很多镜像都提供了 PUID、PGID
,像我上面提到的mariadb
也是用的linuxserver
的镜像:
docker run -d -p 3306:3306 --name mariadb-server \
--restart=unless-stopped \
-e PUID=1000 \
-e PGID=100 \
-e MYSQL_ROOT_PASSWORD=liucao \
-e MYSQL_LOG_CONSOLE=true \
-e TZ=Asia/Shanghai \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/mariadb:/config \
linuxserver/mariadb
:joy::joy: 说了一通,不知道讲明白没有。。。:sweat_smile:
- 已编辑
dragonfly
现在报错有弹窗了,而且报500。(之前安装后提交文件没只提示上传失败,没有弹窗,日志也没有报500错误)
docker run -d -p 8080:80 --name kodbox \
--restart=unless-stopped \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/kodbox:/var/www/html \
-e PUID=1000 \
-e PGID=100 \
-e MYSQL_SERVER=192.168.1.4 \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=liucao \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=kodbox \
kodcloud/kodbox:1.19
dragonfly
最终我还是用之前那个v1.19的版本能正常使用了(就是不能加reids缓存配置目前还不行)
docker run -d -p 8080:80 --name kodbox \
--restart=unless-stopped \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/kodbox:/var/www/html \
-e MYSQL_SERVER=192.168.1.4 \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=liucao \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=kodbox \
kodcloud/kodbox:v1.19
我把映射的文件夹/srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/kodbox
所属者换成了一个和kodbox
容器中nginx 、php-fpm
用户id一样的用户,就能正常上传,下载文件了。
- 已编辑
dragonfly
我尝试在 kodbox web 的根目录下写了个简单的 redis 读写的,倒是没有报权限问题。
还是这个配方
docker run -d -p 8080:80 --name kodbox \
--restart=unless-stopped \
-v /srv/dev-disk-by-uuid-006b1d74-f8ea-4ae5-8728-9a44ccd9a177/kodbox:/var/www/html \
-e MYSQL_SERVER=192.168.1.4 \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=liucao \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=kodbox \
-e SESSION_TYPE=redis \
-e SESSION_HOST=192.168.1.4 \
-e SESSION_PORT=6379 \
kodcloud/kodbox:v1.19