gpt4 book ai didi

Docker:./entrypoint.sh 未找到

转载 作者:行者123 更新时间:2023-12-02 18:13:12 25 4
gpt4 key购买 nike

我正在尝试设置一个 django 项目并对其进行 dockerize。
我在运行容器时遇到问题。
据我所知,abe 构建成功,但运行失败。

这是我得到的错误:

ERROR: for web Cannot start service web: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"./entrpoint.sh\": stat ./entrpoint.sh: no such file or directory": unknown ERROR: Encountered errors while bringing up the project.



这是 dockerfile:
FROM python:3.6

RUN mkdir /backend
WORKDIR /backend
ADD . /backend/

RUN pip install -r requirements.txt

RUN apt-get update \
&& apt-get install -yyq netcat

RUN chmod 755 entrypoint.sh

ENTRYPOINT ["./entrpoint.sh"]

这是撰写文件:
version: '3.7'

services:
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=django
- POSTGRES_PASSWORD=password
- POSTGRES_DB=database

web:
restart: on-failure
build: .
container_name:backend
volumes:
- .:/backend
env_file:
- ./api/.env
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
hostname: web
depends_on:
- db

volumes:
postgres_data:

并且有一个运行自动迁移的入口点文件,如果有的话:
这是脚本:
#!/bin/sh

if [ "$DATABASE" = "postgres" ]
then
echo "Waiting for postgres..."

while ! nc -z $SQL_HOST $SQL_PORT; do
sleep 0.1
done

echo "PostgreSQL started"
fi

python manage.py migrate

exec "$@"

我哪里错了?

最佳答案

问题是你不是entrypoint.sh失踪但nc命令。

要解决这个问题,您必须安装 netcat包裹。

python:3.6基于debian buster,你可以简单地在FROM后面添加以下命令指示:

RUN apt-get update \
&& apt-get install -yyq netcat

编辑以进一步改进:
  • 仅复制 requirements.txt ,安装软件包然后复制其余的。这将提高缓存使用率,并且每次构建(在第一个之后)都会更快(除非您触摸 requirements.txt)
  • 更换 ADDCOPY除非你正在爆炸一个压缩包

  • 结果应如下所示:
    FROM python:3.6

    RUN apt-get update \
    && apt-get install -yyq netcat

    RUN mkdir /backend
    WORKDIR /backend
    COPY requirements.txt /backend/

    RUN pip install -r requirements.txt

    COPY . /backend/

    ENTRYPOINT ["./entrypoint.sh"]

    关于Docker:./entrypoint.sh 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61726605/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com