我正在为我的项目使用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'
,因为默认主机is localhost仍会出现错误:
提供了标志但未定义:-pg-password
当我尝试删除-pg-host
或-pg-password
时,只让pg-prometheus-log-samples
仍然出现错误“:
提供了标志但未定义:-pg-prometheus-log-samples
任何人都知道为什么不识别这些标志值?
此外,我尝试将-pg-password='mypassword'
写为-pg-password=mypassword
,甚至-pg-password mypassword
,但仍会出现同样的错误。
P.S。我在windows中做了所有这些
答案 0 :(得分:-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