![](/img/trans.png)
[英]Azure DevOps -- using Docker-Compose task to deploy to Azure Container Instances
[英]Can`t deploy docker-compose infrastructure to Azure Container Instances
我正在嘗試將我的微服務應用程序部署到 Azure 容器實例。 每個服務都表示為一個 Docker 映像,該映像存儲在 DockerHub 中。 docker-compose.yml 文件中描述了整個應用程序的基礎架構:
version: '3.7'
services:
db:
image: darkmode1012/ticketflow_db:1.0.0
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
networks:
- ticketflow-network
restart: unless-stopped
ports:
- 5432:5432
consul:
image: "consul:1.8.5"
networks:
- ticketflow-network
ports:
- "8500:8500"
identity-service:
image: darkmode1012/ticketflow_identity-service:1.0.0
networks:
- ticketflow-network
depends_on:
- db
- consul
environment:
- ASPNETCORE_ENVIRONMENT=Docker
- ASPNETCORE_URLS=http://identity-service:9001
restart: unless-stopped
profile-service:
image: darkmode1012/ticketflow_profile-service:1.0.0
networks:
- ticketflow-network
depends_on:
- db
- consul
environment:
- ASPNETCORE_ENVIRONMENT=Docker
- ASPNETCORE_URLS=http://profile-service:9002
restart: unless-stopped
ticket-service:
image: darkmode1012/ticketflow_ticket-service:1.0.0
networks:
- ticketflow-network
depends_on:
- db
- consul
environment:
- ASPNETCORE_ENVIRONMENT=Docker
- ASPNETCORE_URLS=http://ticket-service:9003
restart: unless-stopped
movie-service:
image: darkmode1012/ticketflow_movie-service:1.0.0
networks:
- ticketflow-network
depends_on:
- db
- consul
environment:
- ASPNETCORE_ENVIRONMENT=Docker
- ASPNETCORE_URLS=http://movie-service:9004
restart: unless-stopped
api-gateway:
image: darkmode1012/ticketflow_api-gateway:1.0.0
networks:
- ticketflow-network
depends_on:
- consul
- identity-service
- profile-service
- ticket-service
- movie-service
environment:
- ASPNETCORE_ENVIRONMENT=Docker
- ASPNETCORE_URLS=http://host.docker.internal:8080
restart: unless-stopped
ports:
- "8080:8080"
web-client:
image: darkmode1012/ticketflow_web-client:1.0.0
networks:
- ticketflow-network
depends_on:
- api-gateway
ports:
- 3000:3000
stdin_open: true
networks:
ticketflow-network:
driver: bridge
當我在本地運行docker-compose up
- 它工作正常。 但是當我嘗試將它部署到 Azure 容器實例(遵循指南https://docs.microsoft.com/en-us/azure/container-instances/tutorial-docker-compose )時,我看到了錯誤:
D:\Developing\Ticket_Flow>docker compose up
[+] Running 0/1
- Group ticket_flow Waiting 92.4s
containerinstance.ContainerGroupsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: autorest/azure: Service returned an error. Status=<nil> Code="ServiceUnavailable" Message="The requested resource is not available in the location 'eastus' at this moment. Please retry with a different resource request or in another location. Resource requested: '9' CPU '8.1' GB memory 'Linux' OS"
我已經檢查了所選“eastus”地區的 ACI 的可用性——它目前可用。 https://status.azure.com/en-us/status?WT.mc_id=A52BDE99C
此外,我嘗試將資源組與另一個區域一起使用 - 錯誤仍然存在。
您能否告訴我可能導致此錯誤的原因以及我應該如何解決它?
我遇到了同樣的問題。 令人驚訝的是集成是多么善變……它要么會失敗而沒有錯誤,要么會給出一個沒有意義的錯誤。
對於您的特定問題,以下將解決它:
Specify needed resources and burst maximum - for each container like so: image: nginx deploy: resources: limits: cpus: '0.50' memory: '1G' reservations: cpus: '0.25' memory: '1G'
確保整個 compose 文件的總 memory 和 CPU(預留)在容器雲目的地的限制范圍內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.