(我对docker
,fwiw
我有一个django appication I' m容器化。目前我跑的时候
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
与
#../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>
我还基于其他问题尝试使用CMD
和RUN
两种不同的参数类型,即在现有的shell中没有,但输出没有&#39;改变了。
我还应该承认,我可能无法重新启动实际捕获docker-compose.yaml
或Dockerfile
的更新。我的工作流程为$ docker-compose down
,后跟$ docker-compose up
。
编辑:
@ henrik-andersson指出了我正确的方向。错误的直接原因是图像本身没有构建,因此可执行文件python
不存在。我需要运行的命令是docker-compose up --build
答案 0 :(得分:0)
docker-compose up --build
显示图像未构建。通过将docker-compose.yaml
文件移动到父目录s.t来解决此问题。可以正确访问每项服务的Dockerfile