小编Sum*_*wal的帖子

Docker 容器崩溃:/bin/sh: 1: [uvicorn,: 未找到

我是 Docker 新手,正在尝试 Dockerize 我的 FastAPI 应用程序。首先我创建了一个 Dockerfile:

FROM python:3.9.9

WORKDIR /usr/src/app

COPY requirements.txt ./

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

docker build -t fastapi .
Run Code Online (Sandbox Code Playgroud)

命令成功运行。

之后我创建了以下 docker-compose.yml:

version: "3"
services: 
  api:
    build: .
    ports:
      - 8000:8000
    env_file:
         ./.env
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

跑成功:

    Network fastapi_default  Created                              0.7s 
 - Container fastapi_api_1  Started 
Run Code Online (Sandbox Code Playgroud)

然后为了检查它是否正常运行,我运行了以下命令:

docker ps -a
Run Code Online (Sandbox Code Playgroud)

它显示容器在创建后几秒钟就退出了。

然后我运行了这个命令:

docker logs fastapi_api_1
Run Code Online (Sandbox Code Playgroud)

它说:

/bin/sh: 1: [uvicorn,: not found
Run Code Online (Sandbox Code Playgroud)

不知道是什么原因。尝试了我在网上找到的一些解决方案,但没有任何效果。我的requirements.txt …

python docker fastapi

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×1

fastapi ×1

python ×1