在docker网络问题中安装requirements.txt

2024-10-02 10:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试部署我在docker容器中编写的程序

我写了一篇docker-compose

version: "2.2"

services:
   web:
     build:
       context: .
       dockerfile: ./Dockerfile
       network: host
     image: myimgname
     container_name: proj_name_container
     volumes:
       - /srv/python/proj_name/trained_model:/tmp/proj_name/trained_model
     ports:
       - "8010:8010"
     environment:
       - PYTHONUNBUFFERED=1

我有这样一个Dockerfile:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.6

RUN mkdir /tmp/proj_name
ENV SEGPKG=/tmp/proj_name
COPY . $SEGPKG
WORKDIR /
RUN pip install --upgrade pip --proxy https://myproxy:port --trusted-host pypi.python.org

RUN  pip install -r /tmp/proj_name/requirements.txt --proxy https://myproxy:port --trusted-host pypi.python.org

EXPOSE 8010

基于这个pip unable to install packages inside docker container on mac,我添加了--proxy选项

奇怪的是,它对第一个pip install --upgrade pip有效,但对第二个使用我的自定义requirements.txt的pip安装无效。 我收到这个错误:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)'),)': /simple/aiocontextvars/

重试4次后:

Could not find a version that satisfies the requirement aiocontextvars==0.2.2

我的requirements.txt

aiocontextvars==0.2.2
certifi==2020.11.8
chardet==3.0.4
click==7.1.2
colorama==0.4.4
contextvars==2.4
dataclasses==0.8
fastapi==0.61.2
h11==0.9.0
idna==2.8
immutables==0.14
Jinja2==2.11.2
joblib==0.17.0
loguru==0.5.3
MarkupSafe==1.1.1
pydantic==1.7.2
python-dateutil==2.8.1
requests==2.25.0
six==1.15.0
starlette==0.13.6
typing-extensions==3.7.4.3
urllib3==1.25.11
uvicorn==0.12.3
vertica-python==1.0.0
websockets==8.1
win32-setctime==1.0.3

我在linux服务器centos 7上


Tags: installpipdockerrunnametxtnonehost

热门问题