docker 安装20.2.0连接数据库问题

回贴
回帖数 3
阅读数 428
发表时间 2024-07-22 18:03:29
🤠
长情的勺子 楼主

使用docker-compose安装最新的20.2.0,安装到链接数据库时提示错误

数据库连接失败 SQLSTATE[HY000] [1045] Access denied for user "root"@"172.23.0.3" (using password: YES)

docker-compose大概如下

  zentao-mysql:
    image: mysql:8.0

...

  zentao:
    image: hub.zentao.net/app/zentao:20.2.0

...

3个回复
孔令茂 沙发

从你的配置文件看,你的期望是:使用一个独立的 mysql 容器 + 禅道的容器,来运行禅道

提示的信息中 mysql 的数据库地址不是 docker-compose 中的容器。


需要做如下调整

1. 你需要在compose 中建立一个网卡,让 zentao  和zentao-mysql 使用同一个网卡。

2.  在 zentao 配置的环境变量部分写入zentao-mysql 的信息。

参考

# docker-compose.yaml
version: '2'
services:
# db service for zentao
  zentao-db:
    image: mariadb:10.6
    container_name: zentao-db
    ports:
      - '3306:3306'
    volumes:
      - /data/zentao/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=pass4Zentao
      - MYSQL_DATABASE=zentao
    networks:
      - zentao-net
# zentao service
  zentao:
    image: hub.zentao.net/app/zentao
    container_name: zentao
    ports:
      - '80:80'
    volumes:
      - /data/zentao/file:/data
    depends_on:
      - zentao-db
    environment:
      - ZT_MYSQL_HOST=zentao-db
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=pass4Zentao
      - ZT_MYSQL_DB=zentao
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
      - LDAP_ENABLED=false
      - SMTP_ENABLED=false
      - APP_DEFAULT_PORT=80
      - APP_DOMAIN=zentao.demo.com
      - PROTOCOL_TYPE=http
      - IS_CONTAINER=true
      - LINK_GIT=false
      - LINK_CI=false
    networks:
      - zentao-net
networks:
  zentao-net:
    driver: bridge
2024-07-22 18:17:57 孔令茂 回帖
🤠
长情的勺子 板凳 回复#1

我就是这样用的,20.2版本不行,换18.12可以

version: '2'


networks:
  zentao-net:
    driver: bridge

services:
  zentao-mysql:
    image: mysql:8.0
    container_name: zentao-mysql
    restart: always
    ports:
      - '3307:3306'
    volumes:
      - "/data/zentao/db/conf/my.cnf:/etc/my.cnf"
      - "/data/zentao/db/data:/var/lib/mysql"
    environment:
      - MYSQL_ROOT_PASSWORD=********
      - MYSQL_DATABASE=zentao
    networks:
      - zentao-net

  zentao:
    image: hub.zentao.net/app/zentao:latest
    container_name: zentao
    restart: always
    ports:
      - '8080:80'
    volumes:
      - '/data/zentao/repo:/data'
    depends_on:
      - zentao-mysql
    environment:
      - ZT_MYSQL_HOST=zentao-mysql
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=********
      - ZT_MYSQL_DB=zentao
      - PHP_MAX_EXECUTION_TIME=600
      - PHP_MAX_INPUT_VARS=2000
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=1024M
      - PHP_UPLOAD_MAX_FILESIZE=1024M
      - LDAP_ENABLED=false
      - SMTP_ENABLED=false
      - APP_DEFAULT_PORT=80
      - APP_DOMAIN=zentao.demo.com
      - PROTOCOL_TYPE=http
      - EASYSOFT_DEBUG=true
      - DEBUG=1
      - IS_CONTAINER=true
      - LINK_GIT=false
      - LINK_CI=false
      - LINK_SCAN=false
    networks:
      - zentao-net

2024-07-23 18:52:06 长情的勺子 回帖
孔令茂 #3

我复制你的 docker-compose 内容(禅道镜像修改了一下 hub.zentao.net/app/zentao:20.2.0)。

可以很顺畅的跑起来。

注意这一步不要修改,默认填充的是对的(docker容器的名称)


2024-07-23 19:11:06 孔令茂 回帖
联系人
魏中显/高级客户经理
电话(微信)
18561939726
QQ号码
1746749398
联系邮箱
weizhongxian@chandao.com
返回顶部
魏中显
高级客户经理
18561939726
1746749398
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。