Docker中entrypoint.sh缺失导致movies服务无法启动求助
问题:Docker容器中entrypoint.sh文件未找到导致movies服务无法启动
背景
正在学习TestDriven.io的Django TDD课程,卡在pytest配置环节。启动Docker容器后(localhost显示安装正常),出现报错:service "movies" is not running。进一步排查发现entrypoint.sh文件未被成功复制到容器中,触发"文件未找到"错误。
环境配置
文件夹结构

docker-compose.yaml 配置
# version: '3.8' services: movies: build: ./TestDrivenIO command: python manage.py runserver 0.0.0.0:8000 volumes: - ./TestDrivenIO/:/usr/src/TestDrivenIO/ ports: - 8009:8000 env_file: - ./TestDrivenIO/.env.dev depends_on: - movies-db movies-db: image: postgres:15 volumes: # 创建卷并将目录绑定到容器 - postgres_data:/var/lib/postgresql/data/ environment: # 添加环境变量定义默认数据库及凭据 - POSTGRES_USER=movies - POSTGRES_PASSWORD=movies - POSTGRES_DB=movies_dev volumes: postgres_data:
Dockerfile 配置
# 拉取官方基础镜像 FROM python:3.11.2-slim-buster # 设置工作目录 WORKDIR /usr/src/TestDrivenIO # 设置环境变量 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # 更新 # 安装系统依赖 RUN apt-get update \ && apt-get -y install netcat gcc postgresql \ && apt-get clean # 安装依赖 RUN pip install --upgrade pip COPY ./requirements.txt . RUN pip install -r requirements.txt # 新增 # 复制entrypoint.sh COPY ./entrypoint.sh /usr/src/TestDrivenIO/entrypoint.sh RUN chmod +x /usr/src/TestDrivenIO/entrypoint.sh # 添加应用代码 COPY . . # 新增 # 运行entrypoint.sh ENTRYPOINT ["/usr/src/TestDrivenIO/entrypoint.sh"]
排查信息
- Docker进程状态:

- 触发的错误:

求助
如何定位并解决entrypoint.sh未被成功复制到容器中的问题?
内容的提问来源于stack exchange,提问作者ProsperousHeart
相关产品推荐
相关产品推荐

