您好,我是 Azure 的新手,我需要將 Postgres DB 部署到 Azure 容器應用程式。我知道在容器化環境中托管資料庫不是一個好習慣。
我按照 Microsoft 檔案中的此
我創建了一個 VNET,因為我需要選擇 TCP 作為入口型別并將目標埠和公開埠埠映射為 5432 到 5432

在部署應用程式并嘗試使用 Pgadmin 連接到資料庫后,出現以下錯誤。

我想確保 Postgres DB 在 Azure 容器應用程式中成功運行并且需要從 Pgadmin 連接。
uj5u.com熱心網友回復:
這里有兩個問題:
- 您的應用程式定義不正確(特別是圍繞“命令覆寫”)
- 您可以修復該部分,然后 Postgres 將啟動,但您將遇到持久性存盤問題。Azure ContainerApps 目前僅支持用于持久存盤的
或者使用 azure cli
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537884.html標籤:postgresql天蓝色码头工人pgadmin-4azure-container-apps
