无法使用ubuntu,numpy,opencv的安装编写dockerfile

时间:2020-02-14 11:31:12

标签: python docker dockerfile

计划是部署预训练的人脸识别模型。但是在我需要安装一些库之前。

docker背后的想法是,它带来了所有需要的库并无需太多开销即可构建整个“ env”。一个人可以只启动dockerfile,然后依次运行所有其他脚本。

要安装的库:

我正在尝试使用curl从URL下载pkg,但无法正常工作。

我的dockerfile:

FROM ubuntu:16.04.6

RUN apt-get update && apt-get install -y curl bzip2 
    curl -o numpy
    && sudo apt-get install numpy
    && curl install imutils https://github.com/jrosebr1/imutils
    && curl install dlib https://dlib.net
    && sudo git clone https://github.com/ageitgey/face_recognition.git
    && curl python-opencv https://opencv.org/
    && echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc \
    &&  ~/anaconda3/bin/conda update -n base conda \
    &&  rm miniconda_install.sh \
    &&  rm -rf /var/lib/apt/lists/* \
    &&  /bin/bash -c "source ~/.bashrc"

ENV PATH="~/anaconda3/bin:${PATH}"


##################################################
#    Setup env for current project:
##################################################

EXPOSE 8000

RUN /bin/bash -c "conda create -y -n PYMODEL3.6"

ADD requirements.txt /tmp/setup/requirements.txt

RUN /bin/bash -c "source activate PYMODEL3.6 && pip install -r /tmp/setup/requirements.txt"

WORKDIR /Service

ADD Service /Service

ENTRYPOINT ["/bin/bash", "-c", "source activate PYMODEL3.6 && ./run.sh"]

面部模型已预先训练。 有2个执行实际检测,128d编码和识别的python文件。 用法是这样的:

#detect face, if there is face - encode it, return pickle
python3 encode.py --dataset dataset_id --encodings encodings.pickle
--confidence 0.9

#recognize using pickle
python3 face_recognizer.py --encodings encodings.pickle --image
dataset_webcam/3_1.jpg --confidence 0.9 --tolerance 0.5

我应该将它们包含在dockerfile中吗?

1 个答案:

答案 0 :(得分:1)

我建议您使用如下所示的Dockerfile,假设您将所有需求(numpy,imutils等)包含在requirements.txt文件中,并且您的encode.py和{{1} } face_recognizer.py文件夹中的文件:

Service