最关键的几个东西:
- 写Dockerfile
举个例子:
FROM pytorch/pytorch:1.8.0-cuda11.1-cudnn8-devel
#RUN apt-get update -y && \
# apt-get install -y python3-pip python3-dev && \
# apt-get install -y libffi-dev
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip config set install.trusted-host mirrors.aliyun.com
RUN pip install pip -U
RUN pip install Flask==2.0.1
RUN pip install matplotlib==3.5.1
RUN pip install transformers==4.12.5
#COPY ./requirements.txt /requirements.txt
#RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip -r requirements.txt
#RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
COPY . /workspace
# 把当前文件夹里的文件构建到镜像的根目录下
#ADD . /workspace
## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /workspace
RUN chmod +x install_models.sh
RUN sh install_models.sh
RUN chmod +x run.sh
CMD [ "sh", "run.sh" ]
ENTRYPOINT [ "./run.sh" ]
- 构建镜像
docker build -t docker-flask:0.1 .
- 加载运行镜像
docker run --name flask_app -v $PWD/app:/app -p 5000:5000 docker-flask:0.1
如果需要用到gpu,就这么运行:
nvidia-docker run --name flask_app -v $PWD/app:/app -p 5000:5000 docker-flask:0.1
- 参考文档:
https://zhuanlan.zhihu.com/p/71251233