【发布时间】:2020-12-18 11:28:27
【问题描述】:
我正在尝试部署我在 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 安装。
我收到此错误:
警告:重试(重试(总计 = 4,连接 = 无,读取 = 无, redirect=None, status=None)) 连接中断后 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] 错误版本 number (_ssl.c:852)'),)': /simple/aiocontextvars/
重试 4 次后:
找不到满足要求的版本 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。
【问题讨论】:
-
第一个有
https:/myproxy:port,第二个有https://myproxy:port。我实际上希望前者会失败,而后者会起作用。但你可能真的有其他价值观。 -
在这里写我的问题时只是一个错字。
-
但这部分可能已经损坏了,所以您的拼写错误不仅让我们感到困惑,而且还掩盖了实际问题。
-
我更新了我的问题,我向您保证,这只是在此处复制代码时出现的错误。我在我的服务器上检查了我的代码,并且 --proxy 选项都有 https://