Docker部署GPU模型服务
2022/8/23 23:22:48
本文主要是介绍Docker部署GPU模型服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Docker部署GPU模型服务
GPU 设置
Nvidia 开启GPU的持久模式
nvidia-smi -pm 1
添加docker 插件
# 不是ubuntu 18.04 这里要需要改 curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit
下载基础镜像 -- 也可以自己配置
docker pull renoyuan/gpu_base:latest
启动 gpu docker
docker run --gpus all -itd -p 8888:8899 --name zx_poc renoyuan/gpu_base:latest nvdia-smi
Docker 基础
基本结构
镜像仓库 ---> 有开源有公司的用于存放镜像
Docker 服务 ---> 镜像,容器管理工具
镜像---> 打包好的系统环境
容器---> 运行后的镜像实际运行的docker服务
ID --->镜像和容器都有uuid 很多时候使用ID更可靠
命令启动-常用命令
镜像拉取
镜像拉取 默认是从官方仓库拉取的
docker pull renoyuan/gpu_base:latest
镜像上传
#登录远程仓库 docker login # 如果镜像仓库不需要登录可以忽略 #标记要上传的镜像为本地镜像 docker tag 镜像ID renoyuan/gpu_base:latest #将镜像上传到远程仓库 docker push renoyuan/gpu_base:latest
启动镜像
启动镜像 == 生成容器实例
顺序一定不能错
顺序一定不能错
顺序一定不能错
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] # **顺序一定不能错** IMAGE 一定是在参数后面命令前面 docker run --gpus all -itd -p 8888:8899 --name zx_poc renoyuan/gpu_base:latest nvdia-smi # 参数 -i: 交互式操作。 -t: 终端。 -d: 后台运行 -p 端口映射 宿主机:容器 -v 资源映射 宿主机目录:容器目录 --name:容器名字 renoyuan/gpu_base:latest 镜像。 nvdia-smi :放在镜像名后的是命令
容器操作
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach <容器 ID>
docker exec <容器 ID>:推荐使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
退出
exit
停止容器
docker stop uuid|name
启动容器
docker start uuid|name
docker restar uuid|name
删除容器|镜像
docker rm uuid 删除多个可以用空格隔开 -f:表示强制删除
文件传输
docker cp 文件路径 容器id:容器路径
docker cp 容器id:容器路径 文件路径
查询
docker ps -a # 查看容器
docker images # 查看镜像
容器打成镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] sudo docker commit -a "renoyuan" -m "gpu_base" 8462b4eb4157 gpu_base:v0 Option 功能 -a 指定新镜像作者 -c 使用 Dockerfile 指令来创建镜像 -m 提交生成镜像的说明信息 -p 在 commit 时,将容器暂停
本地文件镜像导入导出
docker导入本地镜像
载入快照
cat gpu_base.tar.gz | docker import - gpu_base:v0(镜像名自己定义)
载入镜像
我们有了本地的镜像文件,在需要的时候可以使用docker load将本地保存的镜像再次导入docker中。
docker load --input gpu_base.tar | docker load < gpu_base.tar
docker导出本地镜像
导出镜像
docker save -o gpu_base.tar gpu_base
-o:指定保存的镜像的名字;gpu_base.tar:保存到本地的镜像名称;gpu_base:镜像名字,通过"docker images"查看
导出容器快照
这样将导出容器快照到本地文件。
docker export 1e560fca3906 > gpu_base.tar.gz
DOCKERFILE
说明
运行docker 运行脚本文件 带有一定规范可以不
编写dockerfile
# 指定Python环境 FROM docker pull nvidia/cuda:11.0.3-runtime-ubuntu18.04 # 拷贝Python依赖库requirements文件到当前目录下 ADD requirements.txt / # 安装依赖库 RUN pip install -r /requirements.txt # 拷贝所有文件到app目录下 ADD . /app # 指定app为工作目录 WORKDIR /app # 声明端口 EXPOSE 5000 # docker容器启动 CMD [ "python" , "app.py"]
docker build命令建立改项目镜像:
docker build -t python_gpu . docker build -t zxpoc . # Sending build context to Docker daemon 911.9MB 构建镜像中
其他
安装docker for ubuntu
一、安装docker
1、安装docker:sudo apt-get install -y docker.io
2、启动docker服务:systemctl start docker
3、设置开机启动:systemctl enable docker
4、查看docker状态:systemctl status docker
5、停止docker服务:systemctl stop docker
6、查看docker版本:docker version
二、非root用户运行docker
1、添加docker用户组:sudo groupadd docker
执行以上命令会提示已存在,原因是在安装docker时已自动创建。
2、将指定用户添加到用户组(username为你的用户名):sudo gpasswd -a username docker
3、查看是否添加成功:cat /etc/group | grep ^docker
3、重启docker:sudo systemctl restart docker
5、更新用户组:newgrp docker
6、执行docker命令,比如:docker ps -a
这篇关于Docker部署GPU模型服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程