如何从docker容器grafana连接本地mysql(或docker容器mysql)?

How to connect local mysql(or docker container mysql) from docker container grafana?

我用 docker 容器创建了 grafana。我用 docker 容器创建了 mysql。之后,我尝试访问grafana并通过'data source'添加mysql容器。但是,发生以下错误。有什么问题?

db query error: query failed - please inspect Grafana server log for details

[grafana 的数据源设置]

主机:10.0.7.35:3306

并且我在 mysql 容器中将绑定地址设置为 '/etc/mysql/my.cnf' 为 0.0.0.0:3306。

你可以通过三种方式做到这一点

  1. 您可以 运行 docker 使用 MySQL 并公开 3306(通过添加 -p 3306:3306 端口并找到 docker 的 IP 并连接到该端口来自同一网络的 IP
  2. 公开 MySQL 端口,然后 运行 应用程序 docker 与 --link name_of_mysql_container:mysql 公开,然后在应用程序 docker 上连接到 name_of_mysql_container
  3. 使用Docker作曲家创建 docker-composer.yml 内容类似于:
version: '3.2'
    services:
      app:
          build: .
          image: lap
          environment:
             - DB_HOST=mysql
      mysql:
          image: mysql
          ports:
             - "3306:3306"
          environment:
             - MYSQL_ROOT_PASSWORD=root  

然后您可以在您的应用程序容器数据库连接中使用名为 'mysql'

的主机