0

我正在从 docker 运行 MariaDB 和 myqld_exporter。我像这样运行它们:

docker run -p 127.0.0.1:3306:3306 --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -d mariadb
docker run -p 9104:9104 -e DATA_SOURCE_NAME="root:mypass@(127.0.0.1:3306)/" prom/mysqld-exporter

用我的 docker-machine ip default of替换127.0.0.1IP也没有什么区别,因为在执行第二个命令后我总是得到以下输出:localhost192.168.99.100

$ docker run -p 9104:9104 -e DATA_SOURCE_NAME="root:mypass@(127.0.0.1:3306)/" prom/mysqld-exporter
    time="2017-10-17T12:26:57Z" level=info msg="Starting mysqld_exporter (version=0.10.0, branch=master, revision=80680068f15474f87847c8ee8f18a2939a26196a)" so
    urce="mysqld_exporter.go:460"
    time="2017-10-17T12:26:57Z" level=info msg="Build context (go=go1.8.1, user=root@3b0154cd9e8e, date=20170425-11:24:12)" source="mysqld_exporter.go:461"
    time="2017-10-17T12:26:57Z" level=error msg="Error pinging mysqld: dial tcp 127.0.0.1:3306: getsockopt: connection refused" source="mysqld_exporter.go:268"

    time="2017-10-17T12:26:57Z" level=info msg="Listening on :9104" source="mysqld_exporter.go:479"

我的目的是让 Prometheus 使用导出器指标来监控 MariaDB

4

2 回答 2

0

links使用它而不是 ip 地址会更好一些。您可以使用docker run -p 9104:9104 --link mariadbtest -e DATA_SOURCE_NAME="root:mypass@(mariadbtest:3306)/" prom/mysqld-exporter. 请参阅https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#connect-with-the-linking-system

于 2017-10-18T09:33:30.953 回答
0

如果有人觉得它有用,我想出了有效的命令:

docker run -p 3306:3306 --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -d mariadb
docker run -p 9104:9104 -e DATA_SOURCE_NAME="root:mypass@(192.168.99.100:3306)/" prom/mysqld-exporter
于 2017-10-17T13:27:32.417 回答