dockercompose无法启动服务:“exec:\”python3\“:找不到可执行文件

2024-04-25 04:08:49 发布

您现在位置:Python中文网/ 问答频道 /正文

(我对docker没有很深的经验,fwiw)

我有一个django的申请,我正在集装箱运输。当我跑步的时候 docker-compose up启动redis服务,但api退出并出现错误:ERROR: for api Cannot start service api: OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"python3\": executable file not found in $PATH": unknown

#docker-compose.yaml

version: '3'
services:
  redis:
      image: redis
      ports:
        - 6379
  api:
      build:
        context: ../backend/
        dockerfile: ../backend/Dockerfile
      env_file: .env
      volumes:
          - ../backend:/code/
      ports:
        - "8001:8001"
     depends_on:
        - redis

^{pr2}$

以及

#./.env 

DJANGO_SETTINGS_MODULE=backend.settings.dev
DJANGO_SECRET_KEY=<redacted>
SENTRY_URL=<redacted>

基于其他问题,我还尝试使用CMD和{}两种参数类型,即在现有的shell和没有shell的情况下,但是输出没有改变。在

我还应该承认,有可能我没有重新开始实际捕捉docker-compose.yamlDockerfile的更新。我的工作流程是$ docker-compose down,后面是$ docker-compose up。在

编辑:

@henrik andersson为我指出了正确的方向。错误的直接原因是映像本身没有生成,因此可执行文件python不存在。我需要运行的命令是docker-compose up --build


Tags: composedockerdockerfilebuildenvredisapibackend