赞
踩
公司项目统一放在私有部署的Gogs服务上,Gogs服务是一种用于统一版本管理的Git系统。它旨在提供一个易于安装和使用的Git服务,适用于个人用户、团队或小型组织。通过Gogs服务,用户可以创建、管理和共享Git存储库,以便进行代码版本控制和协作开发。
web端Gogs网页突然访问不上了。远程连接服务器排查:
docker-compose restart
或者先docker-compose stop
然后docker-compose up
重启容器多次(报错:sshd[xx]: error: kex_exchange_identification: Connection closed
),发现还是访问不了。docker ps
查看容器状态发现Gogs容器状态显示unhealthy
。gogs.log
文件,发现显示(open database: dial tcp ipxxx:portxx: connect: connection timed out
):version: '2.3' services: mysql-gogs: image: mysql:5.7 restart: always ports: - "3307:3306" environment: - MYSQL_DATABASE=gogsDatabase - MYSQL_ROOT_PASSWORD=yourDatabasePwd command: --lower_case_table_names=1 --character-set-server=utf8 --collation-server=utf8_general_ci --explicit_defaults_for_timestamp=true --sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO volumes: - ./mysql/data:/var/lib/mysql - ./mysql/conf:/etc/mysql/conf.d gogs: image: gogs/gogs:latest restart: always ports: - "yourPort:22" - "yourPort:3000" volumes: - ./gogs/data:/data links: - mysql-gogs depends_on: - mysql-gogs
经上述排查后问题已经定位到了,那就是数据库服务连接超时。
app.ini
的数据库连接参数,发现HOST
属性是172.30.0.1:3307
这种gateway虚拟IP和容器映射出来的端口容器ID可以命令docker ps
查看
HOST
属性的值改为Mysql容器ID:3306
,3306是MySql容器内部的端口,而不是映射出来的端口docker-compose restart
或者先docker-compose stop
然后docker-compose up
重启即可Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。