最新 kodbox:v1.19 环境 nginx 1.18 + php-fpm 7.4
没有按照给出的docker-compose文件直接部署,因为本机上已经有了mariadb的docker容器。但是基本也是按官方的配置部署的。
基本部署如下:
- 1、mariadb

# 镜像
$ docker pull linuxserver/mariadb
# 启动镜像
$ 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 /data/mariadb:/config \
  linuxserver/mariadb

- 2、redis

# 镜像
$ docker pull redis:alpine3.12
# 启动镜像
$ docker run -d -p 6379:6379 --name redis \
	--restart=unless-stopped \
	-e TZ=Asia/Shanghai \
	redis:alpine3.12

- 3、kodbox

# 镜像
$ docker pull kodcloud/kodbox
# 启动镜像
$ 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
数据库和redis用客户端链接都能正常连接并使用

当安装时输入用户名和密码就出现:
Screenshot_2021-04-25-14-27-02.png

这个CacheLock在什么情况下会是空的呢?是我的缓存服务配置的不对?能不能提供下寻找问题的思路?

    liucao422 可以在报错时看下日志 docker logs -f kodbox,并且建议拉取镜像时加上版本tag docker pull kodcloud/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
      去掉SESSION之后确实可以成功安装了:

      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 \
          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:

        liucao422 换这个试下(1.19没有v),参考 docker run -d -e PUID=1000 -e PGID=100 kodcloud/kodbox:1.19

          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

            搞不来了 :joy:

              dragonfly

              这就奇了怪了,这里检测是可以的,为什么就是加了

                  -e SESSION_TYPE=redis \
                  -e SESSION_HOST=192.168.1.4 \
                  -e SESSION_PORT=6379 \

              就是安装不成功。。。不加就能成功。。

              先不设置 reids ,安装后在这后台设置也应该是有效的吧?

              可以可以,先就这么用着。。感谢感谢!辛苦了两天了。:grimacing:

              8 天 后
              liucao422 将标题更改为 「OMV 5.x 使用Docker 安装 Kodbox:v1.19时出现对象为空的异常」。