如何从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。
你可以通过三种方式做到这一点
- 您可以 运行 docker 使用 MySQL 并公开 3306(通过添加
-p 3306:3306
端口并找到 docker 的 IP 并连接到该端口来自同一网络的 IP
- 公开 MySQL 端口,然后 运行 应用程序 docker 与
--link name_of_mysql_container:mysql
公开,然后在应用程序 docker 上连接到 name_of_mysql_container
- 使用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'
的主机
我用 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。
你可以通过三种方式做到这一点
- 您可以 运行 docker 使用 MySQL 并公开 3306(通过添加
-p 3306:3306
端口并找到 docker 的 IP 并连接到该端口来自同一网络的 IP - 公开 MySQL 端口,然后 运行 应用程序 docker 与
--link name_of_mysql_container:mysql
公开,然后在应用程序 docker 上连接到 name_of_mysql_container - 使用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'
的主机