Python docker compose无法启动服务:";执行官:\";蟒蛇3\";:找不到可执行文件
(我对Python docker compose无法启动服务:";执行官:\";蟒蛇3\";:找不到可执行文件,python,django,docker,docker-compose,Python,Django,Docker,Docker Compose,(我对码头工人,fwiw没有太多经验) 我有一个django应用程序,我正在用集装箱运输。现在我跑步的时候 docker compose upredis服务启动,但api退出时出错:error:for api无法启动服务api:OCI运行时创建失败:container\u linux.go:296:启动容器进程导致“exec:\“python3\”:在$PATH中找不到可执行文件:未知 #docker-compose.yaml version: '3' services: redis:
码头工人,fwiw没有太多经验)
我有一个django应用程序,我正在用集装箱运输。现在我跑步的时候
docker compose up
redis
服务启动,但api
退出时出错:error:for api无法启动服务api:OCI运行时创建失败:container\u linux.go:296:启动容器进程导致“exec:\“python3\”:在$PATH中找不到可执行文件:未知
#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
与
及
#./.env
DJANGO_设置_模块=backend.SETTINGS.dev
DJANGO_密钥=
哨兵=
基于其他问题,我还尝试将CMD
和RUN
与它们不同的参数类型一起使用,即在现有shell中使用和不使用,但输出没有改变
我还应该承认,有可能我没有重新启动,实际上没有捕获到对docker compose.yaml
或Dockerfile
的更新。我的工作流程是$docker compose down
,然后是$docker compose up
编辑:
@亨里克·安德森为我指出了正确的方向。该错误的直接原因是图像本身未构建,因此可执行的python
不存在。我需要运行的命令是docker compose up--build
docker compose up--build
显示图像未生成。这是通过将docker compose.yaml
文件移动到父目录s.t.来修复的。可以正确访问每个服务的Dockerfile
是否正确构建了图像?我不知道--如何检查?请尝试docker compose-up--构建
谢谢,查看编辑结果。如果你愿意,我就接受你的回答
#../backend/Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
ADD . /code/
WORKDIR /code/
RUN pip install -r requirements.txt
CMD python manage.py runserver
#./.env
DJANGO_SETTINGS_MODULE=backend.settings.dev
DJANGO_SECRET_KEY=<redacted>
SENTRY_URL=<redacted>