0

我正在为我的项目使用prometheus-postgresql-adapter ,并尝试在 Docker 中运行它。

我正在浏览他们的所有文档:

go get -u github.com/timescale/prometheus-postgresql-adapter

dep ensure

make

当我编写make命令时,它向我抛出了这个错误:

GOOS=mingw64_nt-10.0 GOARCH=amd64 CGO_ENABLED=0 go build -a -installsuffix cgo --ldflags '-w' -o prometheus-postgresql-adapter main.go cmd/go: 不支持的 GOOS/GOARCH 对 mingw64_nt-10.0/amd64 make : *** [prometheus-postgresql-adapter] 错误 2

所以我运行它make OS=windows

然后

make docker-image

make docker-push ORGANIZATOIN=myusername

但是当我尝试使用此代码运行该图像时:

 docker run --name prometheus_postgresql_adapter --link pg_prometheus -d -p 9201:9201 \
 timescale/prometheus-postgresql-adapter:master \
 -pg-host=pg_prometheus \
 -pg-prometheus-log-samples

并得到了那个错误

提供但未定义的标志:-pg-host

我什至更改-pg-host=pg_prometheus为,pg-password='mypassword'因为默认主机是 localhost 仍然会出现该错误:

提供但未定义的标志:-pg-password

当我试图删除-pg-host-pg-password只让pg-prometheus-log-samples仍然得到那个错误时”:

提供但未定义的标志:-pg-prometheus-log-samples

任何人都知道为什么不识别这些标志值?

我也尝试写-pg-password='mypassword'as -pg-password=mypassword-pg-password mypassword但仍然出现相同的错误。

ps我在windows中做所有这些

4

1 回答 1

-1

这里,

您需要将所有容器放在一个 docker 网络中。所以创建一个,比如命名为 psgs:

sudo docker network create psgs

之后,您使用 --net=psgs 运行您的容器,以指示您希望它们在哪个 docker 网络中运行。

最后,适配器似乎期望使用 pg.* 模式而不是 pg-* 模式的参数。

sudo docker run --net=psgs --name pg_prometheus -d -p 5432:5432 -e POSTGRES_PASSWORD=paparazzi timescale/pg_prometheus:master postgres -csynchronous_commit=off

sudo docker run --net=psgs --name prometheus_postgresql_adapter --link pg_prometheus -d -p 9201:9201 timescale/prometheus-postgresql-adapter:master -pg.host pg_prometheus -pg.password paparazzi
于 2018-06-07T12:30:23.777 回答