【问题标题】:docker stuck on pip installdocker 卡在 pip install 上
【发布时间】:2020-05-13 05:06:27
【问题描述】:

我在尝试 docker 时很头疼, 但是这个正在杀了我 我正在尝试在 docker 上安装 django,但它卡在了这一行:

Successfully installed asgiref-3.2.7 django-3.0.6 pytz-2020.1 sqlparse-0.3.1

Dockerfile:

FROM python:3.6
COPY . /app
WORKDIR /app
CMD chmod +x entry.s

# ENTRYPOINT ["./entry.sh"] # this will give me, ./entry.sh: Permission denied
ENTRYPOINT ["sh", "./entry.sh"]

entry.sh:

echo entry point for django image
cd code
pip install -r requirements.txt

# for keep container running, I couldn't find any other way
touch app.log
tail -f app.log

docker 运行输出:

entry point for django image
Collecting django
  Downloading Django-3.0.6-py3-none-any.whl (7.5 MB)
Collecting sqlparse>=0.2.2
  Downloading sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Collecting pytz
  Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting asgiref~=3.2
  Downloading asgiref-3.2.7-py2.py3-none-any.whl (19 kB)
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.2.7 django-3.0.6 pytz-2020.1 sqlparse-0.3.1
--> stuck here

【问题讨论】:

    标签: django docker dockerfile


    【解决方案1】:

    在entry.sh 中,如我所见,您创建了一个空日志文件,并对其进行跟踪。因此没有回应。相反,运行 django 服务器:

    # remove the log tailing file
    
    python manage.py migrate
    python manage.py runserver 0.0.0.0:8000
    

    现在,在构建过程中安装依赖项是一个很好的做法。这样,它将减少运行 docker 容器的时间。 docker 还可以分层缓存这些安装,因此可以减少构建时间。所以我建议像这样创建Dockerfile:

    FROM python:3.6
    COPY . /app
    WORKDIR /app
    RUN pip install -r requirements.txt
    EXPOSE 8000
    CMD python manage.py migrate;python manage.py runserver 0.0.0.0:8000
    

    无需为此实现创建入口点。如果要查看日志,请查看 docker 的documentation。这是一个关于如何做到这一点的示例:

    docker logs -f <container name>
    

    【讨论】:

    • 但是 touch 和 tail 是在 pip install 之后,问题是它不会通过 pip install。
    • 没有。它已经完成了 pip 安装。但同样,这不是推荐的程序。请按照给出的示例进行安装是构建过程的一部分
    猜你喜欢
    • 2023-01-28
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2015-11-09
    • 2021-06-07
    相关资源
    最近更新 更多