首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL服务器不可用。等待5秒

MySQL服务器不可用。等待5秒
EN

Stack Overflow用户
提问于 2022-07-17 15:55:41
回答 1查看 695关注 0票数 0

我创建yaml文件用于在docker上创建容器:

代码语言:javascript
复制
version: '3'
services:
  mysql:
    container_name: 'MySQL'
    image: 'mysql'
    environment:
      MYSQL_DATABASE: 'zabbix_db'
      MYSQL_USER: 'zabbix_user'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
      MYSQL_PASSWORD: 'zabbix_password'                                                                                     volumes:                                                                                                                   - './mysql:/var/lib/mysql'                                                                                           ports:                                                                                                                    - '3306:3306'                                                                                                         restart: 'on-failure'                                                                                                 zabbix-server:                                                                                                            container_name: 'Zabbix-server'                                                                                         image: 'zabbix/zabbix-server-mysql'
    environment:
      ZBX_DBTLSCONNECT: 'required'                                                                                      #      DB_SERVER_HOST: '127.0.0.1'                                                                                      #      DB_SERVER_PORT: '3306'                                                                                                 MYSQL_USER: 'zabbix_user'                                                                                               MYSQL_PASSWORD: 'zabbix_password'                                                                                       MYSQL_DATABASE: 'zabbix_db'                                                                                           ports:                                                                                                                    - '10051:10051'                                                                                                       depends_on:
      - 'mysql'    
 zabbix-web-nginx-mysql:
    container_name: 'zabbix-web-nginx-mysql'
    image: 'zabbix/zabbix-web-nginx-mysql'
    environment:
      BX_DB_ENCRYPTION: 'true'
#      ZBX_SERVER_HOST: '127.0.0.1'
#      ZBX_SERVER_PORT: '10051'
#      DB_SERVER_HOST: '127.0.0.1'
 #     DB_SERVER_PORT: '3306'
      MYSQL_DATABASE: 'zabbix_db'
      MYSQL_USER: 'zabbix_user'
      MYSQL_PASSWORD: 'zabbix_password'
      PHP_TZ: 'Asia/Tehran'
    depends_on:
      - 'mysql'
      - 'zabbix-server'
    ports:
      - '8080:8080'
  zabbix-agent:
    container_name: 'Zabbix-agent'
    image: 'zabbix/zabbix-agent'
    environment:
      ZBX_HOSTNAME: 'srv197189'
      ZBX_SERVER_HOST: '127.0.0.1'
      ZBX_ACTIVESERVERS: '127.0.0.1:10051'

在这个yaml文件中使用mysql, zabbix-serverzabbix-web-nginx-mysqlzabbix agent。当我运行sudo docker-compose up时,mysql成功地创建了但是zabbbix-serverzabbix-web-nginx-mysql得到了以下错误:

代码语言:javascript
复制
 MySQL server is not available. Waiting 5 seconds...

以其他方式,我在系统中安装了mysql (不是码头),但是被提到了错误。

EN

回答 1

Stack Overflow用户

发布于 2022-07-17 16:19:21

您的zabbix-web-nginx-mysql容器无法用当前设置/配置连接到mysql服务器。

docker创建一个默认网络,您的所有容器都将在其中连接,以便它们能够相互通信。

通过使用yml文件中定义的服务名称,您的所有容器都可以到达对方。

所以你只需要取消评论

代码语言:javascript
复制
DB_SERVER_HOST: '127.0.0.1'

并代之以

代码语言:javascript
复制
DB_SERVER_HOST: 'mysql'

现在,您的容器应该能够到达并连接到mysql数据库。

请记住,127.0.0.1不是容器中的主机!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73013256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档