记录一次构建Django镜像的错误之一
# 虚拟环境
WORKDIR /www/day16
RUN pip3.9 install virtualenv
RUN virtualenv /www/day16/env --python=python3.9
#RUN /www/day16/env/bin/pip3.9 install -r requirements.txt
RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt
这是构建镜像的部分内容,也是错误之处
其中,安装项目依赖的时候,未指定使用虚拟环境下的pip安装,从而将他们安装在了系统自带的python目录下,从而项目运行时,由于在虚拟环境中运行,而依赖安装在系统自带的python而非项目依赖,故而,会导致相应的依赖找不到,从而外部访问时,出现Internal Server Error。
RUN /www/day16/env/bin/pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt
其实说起来,既然已经使用docker容器了,其实没必要使用虚拟环境了