[深度学习 - 部署笔记] docker部署 pytorch项目
docker部署tornado项目
docker部署
1. docker 安装
首先查看服务器上是否安装docker,(命令行输入):docker version
如果没安装就参照一下其他博客的安装教程,例如这个https://www.cnblogs.com/is-possible/p/12335257.html
因为我这边是安装好了的,所以就可以直接用了。
2. docker 部署
(1)拉取基础镜像
这个可以上docker-hub上面拉取,下面这个是pytorch的库。
https://registry.hub.docker.com/r/pytorch/pytorch/tags
根据你的项目实际版本选择你的pytorch版本,我这边选择的是:docker pull pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel
然后就可以在服务器上输入这行,拉取pytorch镜像。
(2)查看容器状态
查看容器状态:docker ps
可以查看当前服务器上docker容器的启动状态。
会看到如上图所示的一个列表,(如果没有容器运行就是空的)。
第一列为容器ID,可以使用这个ID进入容器,查看自己的项目,每个容器都是独立的。
一般这个时候是还没有容器启动的。
(3)dockerfile
在自己的项目中新建一个dockerfile,放在项目目录外一层。
如下:
FROM pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel
ENV LANG C.UTF-8
WORKDIR /app
COPY ./requirements.txt /app/
RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
COPY ./data /app/
ENTRYPOINT ["sh", "./run.sh"]
在创建容器的时候,会安装dockerfile文件,一行一行执行。
尽量把初始化写详细,这样重复创建的时候速度会比较快。因为重复创建的时候,只会重新执行修改过的那一行。
第一行为FROM 即,为写入刚刚拉取的镜像,同时注意后面写入文件的路径。
依赖库requirements.txt
一般github上面的项目都会有这个,运行pip -r
就可以自动下载依赖库,也可以根据自己的配置写一个。
(4)打包docker镜像
执行下面命令:sudo docker build --tag project_name:1.0.0 .
projectName为创建的容器名字,后面接着版本号。(一般加上时间比较好)
执行完成后,可以执行命令:docker Images
此时就可以看到你新建的容器,但是一般还没执行。
(5)运行docker容器
通过这句命令:sudo docker run -itd --gpus 0 -p 8003:8002 project_name:1.0.0
执行容器里面的run.sh。
执行完成后可以看到docker ps
会出现正在执行的容器。
(6)进入指定容器
上面通过docker ps
看到正在执行的容器,以及他的ID。此时可以通过ID进入容器。
通过命令:sudo docker exec -it [容器id] /bin/bash
进入指定容器。
并且可以在容器中进行调试。(一般会出现依赖库版本不对应,或者一些文件目录不对,导致项目运行出错,通过进入容器里面进行调试。)
3. 容器启动直接挂掉怎么办?
(1)bulid的时候会保留每一步操作。
(2)可以通过run -it {地址} 运行进入某一步操作的容器
我这里报错的位置在第七步,因为环境配置没配好,所以运行出错直接挂掉。
所以我就run道第六步,然后进入容器内执行看看报错信息。
更多推荐
所有评论(0)