Развертывание базы данных Postgres в приложении-контейнере Azure

Привет, я новичок в Azure, и мне нужно развернуть базу данных Postgres в приложении контейнера Azure. Я знаю, что не рекомендуется размещать БД в контейнерной среде.

Я перешел по этой ссылке из документации Microsoft, чтобы развернуть приложение, и ниже приведены мои конфигурации,

Я создал виртуальную сеть, так как мне нужно выбрать TCP в качестве типа Ingress и сопоставить целевой порт и выставленный порт порта как 5432 на 5432.

После того, как я разверну приложение и попытаюсь подключиться к БД с помощью Pgadmin, я получаю следующую ошибку.

Я хочу убедиться, что база данных Postgres успешно работает внутри приложения-контейнера Azure, и мне нужно подключиться из Pgadmin.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
148
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь есть 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, как я могу это сделать?

infaz98 22.11.2022 05:25

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