Привет, я новичок в Azure, и мне нужно развернуть базу данных Postgres в приложении контейнера Azure. Я знаю, что не рекомендуется размещать БД в контейнерной среде.
Я перешел по этой ссылке из документации Microsoft, чтобы развернуть приложение, и ниже приведены мои конфигурации,
Я создал виртуальную сеть, так как мне нужно выбрать TCP в качестве типа Ingress и сопоставить целевой порт и выставленный порт порта как 5432 на 5432.
После того, как я разверну приложение и попытаюсь подключиться к БД с помощью Pgadmin, я получаю следующую ошибку.
Я хочу убедиться, что база данных Postgres успешно работает внутри приложения-контейнера Azure, и мне нужно подключиться из Pgadmin.
Здесь есть 2 проблемы:
Что касается первой проблемы, «Переопределение команды» предназначено для переопределения команды, работающей в вашем образе докера, а не самой команды докера.
Таким образом, эти значения необходимо будет поместить в раздел переменных среды ниже:
нравиться:
или с помощью лазурного кли
az containerapp create \
--name $POSTGRES_INSTANCE_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image docker.io/postgres:15 \
--secrets pgpass = "$POSTGRES_PASSWORD" \
--env-vars POSTGRES_USER = "$POSTGRES_USER" POSTGRES_DB = "$POSTGRES_DB" POSTGRES_PASSWORD=secretref:pgpass \
--transport tcp \
--target-port 5432 \
--ingress external \
--min-replicas 1 \
--max-replicas 1
вы можете изменить --ingress external
на --ingress internal
, а затем развернуть pgadmin в той же среде. Тогда pgadmin сможет получить доступ к postgres на $POSTGRES_INSTANCE_NAME:5432
развернуть pgadmin
az containerapp create \
--name pgadmin \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image dpage/pgadmin4:6.15 \
--secrets pgpass = "$PGADMIN_PASSWORD" \
--env-vars PGADMIN_DEFAULT_EMAIL = "$PGADMIN_EMAIL" PGADMIN_LISTEN_PORT = "8080" PGADMIN_DEFAULT_PASSWORD=secretref:pgpass \
--transport http \
--target-port 8080 \
--ingress external \
--min-replicas 1 \
--max-replicas 1
Привет @ahmelsayed Спасибо за быстрый ответ. Я смог подключиться к PgAdmin. Если я хочу передать команду переопределения через cli, как я могу это сделать?