1.在自己的项目文件中加入Dockerfile、requirements.txt![在这里插入图片描述](https://img-blog.csdnimg.cn/a02df1c02df243e4aa75cf3454c1796b.png#pic_center)
2.编写Dockerfile
#基于的基础镜像
FROM anibali/pytorch:1.10.2-cuda11.3-ubuntu20.04
# 设置app文件夹是工作目录
WORKDIR /app
#代码添加到app文件夹
COPY . /app
# 安装环境依赖
RUN pip install -r requirements.txt
# 使程序运行
CMD ["python3","main.py"]
其中我是基于anibali/pytorch:1.10.2-cuda11.3-ubuntu20.04镜像,之后就不用再安装torch的gpu版本了
requirements.txt可以通过以下命令生成
pipreqs ./ --encoding='utf-8' --force
3.拉取镜像
首先需要拉取这个镜像
docker pull anibali/pytorch:1.10.2-cuda11.3-ubuntu20.04
3.生成docker镜像
docker build -t [image_name] .
如果我的镜像名称设定为face_check,那么就执行
docker build -t [face_check] .
3.运行docker镜像
docker run -d --name [container_name] -p 80:80 [image_name]
如果我的镜像名称是face_check,需要设定的容器名称是fx_face_check,需要创建log文件就需要使用到root权限加入-u root,需要用到gpu就要加入–gpus all,需要设定暴露的端口为10008,那么加入-p 10008:10008,执行
sudo docker run -d -u root --restart=always --gpus all -p 10008:10008 --name fx_face_check face_check:1.0
4.检查docker镜像
查看是否运行成功,查看容器执行:
docker images
如果created没显示时长,说明没运行起来,检查日志
docker logs [id]
id 代表docker images时第一列对应的内容
根据日志信息检查报错内容,修改requirements.txt中信息,之后停止容器、删除容器、重新生成、运行镜像
5.停止、删除容器
docker stop [id]
docker rm [id]