Docker: флаг предоставлен, но не определен

Я использую Прометей-postgresql-адаптер для своего проекта и пытаюсь запустить его в 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: unsupported GOOS/GOARCH pair mingw64_nt-10.0/amd64 make: *** [prometheus-postgresql-adapter] Error 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

И получил эту ошибку

flag provided but not defined: -pg-host

Я даже изменил -pg-host=pg_prometheus на pg-password='mypassword', поскольку хост по умолчанию - localhost, все равно получаю эту ошибку:

flag provided but not defined: -pg-password

когда я пытаюсь удалить -pg-host или -pg-password и позволяю только pg-prometheus-log-samples по-прежнему получать эту ошибку ":

flag provided but not defined: -pg-prometheus-log-samples

Кто-нибудь знает, почему не распознает эти значения флагов?

Также я пробовал записывать -pg-password='mypassword' как -pg-password=mypassword и даже -pg-password mypassword, но все равно возникает та же ошибка.

p.s. Я все это делаю в окнах

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
2 462
1

Ответы 1

Здесь,

вам нужно, чтобы все ваши контейнеры были в одной сети докеров. Итак, создайте его, скажем, с именем psgs:

sudo docker network create psgs

После этого вы запускаете свои контейнеры с --net = psgs, чтобы указать, в какой сети докеров вы хотите, чтобы они запускались.

Наконец, похоже, что адаптер ожидает параметры с шаблоном 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

Другие вопросы по теме