请问如何docker-compose部署禅道社区版18.0?

docker-compose.yml如下

# sudo docker run --name [容器名] -p [主机端口]:80 --network=[网络驱动名] --ip [容器IP] --mac-address [mac地址] -v [主机禅道目录]:/www/zentaopms -v [主机mysql目录]:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=[数据库密码] -d easysoft/zentao:[镜像标签]
version: '3.6'


services:
    # 禅道(你自己的容器名称)
    zentao:
        image: easysoft/zentao:18.0
        container_name: zentao
        restart: always
        # privileged: true # 特权模式
        ports:
          # 禅道访问页面端口设置,格式,宿主机端头:容器内端口,不建议设置为 80:80 ,这样占用了宿主机服务器的 80 短裤
          - 20080:80
          # 禅道数据库端口设置,端口挂载便于外部管理禅道数据库,不建议设置为 3306:3306 除非你你服务器上不安装 MySQL 提供项目使用
          - 23306:3306
          # 数据持久化挂载宿主机:格式: 宿主机路径目录:容器内部目录
          # 容器内部的不用动,宿主机中的可根据自己需求修改,支持绝对路径和相对路径
        # expose:
        #    - "20080"
        volumes:
            - ./volumes/data:/www/zentaopms
            - ./volumes/mysql:/var/lib/mysql

        # 禅道数据库MySQL root 用户密码设置(这里设置了,感觉无效,启动时依然警告:Access denied for user 'root'@'localhost' (using password: NO))
        # 启动引导界面还会让你设置一次 数据库 MySQL 的 用户和密码
        environment:
            # TZ: Asia/Shanghai
            # 数据库密码
            - MYSQL_HOST=mysql
            - MYSQL_PORT=3306
            - MYSQL_ROOT_PASSWORD=123456789
            - MYSQL_USER=zendao
            - MYSQL_PASSWORD=zendao
            - MYSQL_DB=zentao
            - DEBUG=1
            - IS_CONTAINER=true

image.png
连接数据库之后提示

SQLSTATE[HY000]: General error: 1030 Got error 44 "Channel number out of range" from storage engine InnoDB
回复
阅读 593
1 个回答

你volumes/mysql 不能直接进行挂载吧,你注释掉这一行或者清空一下volumes/mysql的数据,应该就没问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏