Azure containerapp compose 无法运行容器,并且在提供“入口点”或“命令”时不生成任何日志

问题描述 投票:0回答:1

docker-compose.yaml 文件中包含“入口点”或“命令”字段会导致 Azure 容器应用程序在创建容器时崩溃。

我有一个简单的 docker-compose.yaml 文件:

version: "3.9"
services:
  busybox:
    image: busybox
    container_name: busybox
    entrypoint: ["echo", "hello"]

在 docker 上运行它工作正常并回显“hello”。

但是当我尝试通过以下命令在 Azure 容器应用程序上运行相同的容器时:

az containerapp compose create --environment env --resource-group omd --compose-file-path docker-compose.yaml

容器崩溃: 失败的容器 没有控制台日志。

谢谢

azure docker docker-compose azure-container-apps
1个回答
0
投票

我尝试使用 YAML 配置并得到相同的错误。
您需要修改 YAML 文件才能使用

sh
或配置它来构建,如下所示:

  build:
      context: ./src
      dockerfile: ./TodoApi/Dockerfile 

使用 Docker 镜像来构建特定的代码或组件。

也可以使用docker-busybox-example存储库中的

代码
作为参考来构建图像。

从此文档中,您可以使用

command: sh
而不是
entrypoint: ["echo", "hello"]
来运行 Azure 容器应用程序。

检查示例代码:

version: '3'
services:
  busybox:
    image: busybox
    command: sh -c "echo 'Hello from BusyBox!' && sleep 3600"
    stdin_open: true
    tty: true


使用代码将 BusyBox 作为 HTTP Web 服务器运行:

您可以在 BusyBox 中运行一个简单的 HTTP 服务器来提供静态文件。

version: '3'
services:
  web:
    image: busybox
    command: httpd -f -p 8080
    volumes:
      - ./web-content:/www
    ports:
      - "8080:8080"

欲了解更多详细信息,请参阅BusyBoxenter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.