docker部署seafile最新版v11报错

系统版本:Oracle Linux Server release 7.9,这个类似centos7.9
docker版本:20.10.9
docker-compose版本:v2.2.2

yaml文件基本和官方一致,只有mariadb添加了点内容,解决mariadb启动报错“
Can’t initialize timers”

现在执行docker-compose后,三个容器都起来了,但是seafile有报错,报错信息如下
“Starting seahub at port 8000 …

Error happened during creating seafile admin.”

请问该怎么解决启动报错问题?

最后附上yaml内容

services:
  db:
    image: mariadb:10.11
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_dev  # Requested, set the root's password of MySQL service.
      - MYSQL_LOG_CONSOLE=true
      - MARIADB_AUTO_UPGRADE=1
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql  # Requested, specifies the path to MySQL data persistent store.
    networks:
      - seafile-net
    security_opt:
      - seccomp=unconfined

  memcached:
    image: memcached:1.6.18
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net

  seafile:
    image: seafileltd/seafile-mc:11.0-latest
    container_name: seafile
    ports:
      - "80:80"
#      - "443:443"  # If https is enabled, cancel the comment.
    volumes:
      - /opt/seafile-data:/shared   # Requested, specifies the path to Seafile data persistent store.
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_dev  # Requested, the value shuold be root's password of MySQL service.
      - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
      - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
      - SEAFILE_ADMIN_PASSWORD=asecret     # Specifies Seafile admin password, default is 'asecret'.
      - SEAFILE_SERVER_LETSENCRYPT=false   # Whether use letsencrypt to generate cert.
      - SEAFILE_SERVER_HOSTNAME=seafile.example.com # Specifies your host name.
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net

networks:
  seafile-net:

手动去容器中启动一下试试

Yaml文件修改一下,mariadb 那 添加一条command: --default-authentication-plugin=mysql_native_password ,还不行的话,就进入mariadb的容器,修改一下seafile 用户的认证方式:alter user ‘seafile’@‘%.%.%.%’ identified with mysql _native_password BY ‘passwod’;

security_opt:
  - seccomp=unconfined

这个配置虽然可以,让数据库启动,但是可能还有其他问题
想要解决这个问题,是要升Docker的版本,最低:20.10.10
升级完成之后启动就不会提示:
Error happened during creating seafile admin.
参考