深度学习docker环境配置之nvidia-docker安装使用

这篇具有很好参考价值的文章主要介绍了深度学习docker环境配置之nvidia-docker安装使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单介绍

–docker容器技术–。
简单理解:Anaconda用于隔离不同的python环境;docker可以理解成在你的机器里面安装了一个独立的系统,因此它可以隔离不同的CUDA环境,还有着独立的文件系统,防止别人删掉你的实验和环境等。

  • 镜像(images)的意思就是静态的镜像文件;
  • 容器(container)就是一个基于镜像的活跃着的系统,可以操作的实例,我们可以进去跑代码。

安装nvidia-docker(Ubuntu)

  • 前置条件:你得有一张显卡。
  • docker sudo apt-get install docker。查看是否安装好:docker
  • Nvidia Driver. NVIDIA驱动官网。查看是否安装好:nvidia-smi
  • 接下来安装nvidia-docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
  • sudo systemctl restart docker 重启一下docker
  • 接下来你就可以愉快的使用nvidia-docker了

使用方法

在此之前,我们需要了解一下docker hub的一些仓库地址。在下方给出:

  • Nvidia/cuda官方docker hub
  • PyTorch官方docker hub

基于此,我们可以去拉取官方仓库,可以在tag当中搜索我们所需要的版本,一般是选择devel版本,其中包含了C++/CUDA编译环境、视频解码、渲染等,会比较全面些。然后在docker镜像去配置我们的深度学习环境。就像下面这样:

docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
# 它下载完成会生成IMAGE_ID,利用docker images去查看IMAGE_ID
# 下面是去利用对应的镜像生成可用的容器,
docker run -itd --runtime=nvidia --gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video,graphics -v /root/Documents/xxx:/data/ --name test --privileged=true -v /dev/shm:/dev/shm -p 49154:22 IMAGE_ID /bin/bash
# -it必备 d表示在背景里运行; -v 磁盘挂载 本地绝对路径:容器的绝对路径; --name 给你的container取个响亮的芳名;-v /dev/shm:/dev/shm 共享内存; image ID; /bin/bash 执行命令; -p 端口映射 -p 49154:22
# ** 若是关于--gpus=all报错,则把它去掉,前面的docker换成nvidia-docker再运行试试,若还是不行,那你就自己解决。
# 在执行完上述命令后,会生成容器ID。然后我们进入容器:
docker exec -it container_id /bin/bash # container_id 替换成自己的容器ID
# nvcc -V 查看cuda版本
# 这样进去就会看到一个啥也没有的干净系统,你需要依次装上Python...等等工具

但是进去是一个裸环境,再去装Python,PyTorch,wget这些东西会很麻烦,有没有一键配置好这些,进去就可以直接用环境的呢?答案是有:利用Dockerfile

Dockerfile构建镜像(推荐)

这里我也贴出来准备好的Dockerfile,如下所示,大家也可以根据需求自己修改,github文件地址在这。那我们怎么通过Dockerfile文件来构建镜像呢?用docker build -t myubuntu:v1 .来构建,其中myubuntu是你给它取的镜像名字,v1是版本,后面还有个点别忘记了。构建生成了镜像之后,就可以由上述的那样docker run xxxxx命令去开心的用的你的容器啦!

# docker pull pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
# 一般来说需要修改的是 FROM nvidia/cuda:10.0-devel-ubuntu18.04和torch版本,torch==1.4.0+cu100 torchvision==0.5.0+cu100
# 你需要去找docker hub的镜像网站上去找对应的base镜像和torch版本
FROM nvidia/cuda:10.0-devel-ubuntu18.04
ENV LANG C.UTF-8
RUN APT_INSTALL="apt-get install -y --no-install-recommends" && \
    PIP_INSTALL="python -m pip --no-cache-dir install --upgrade" && \
    GIT_CLONE="git clone --depth 10" && \

    rm -rf /var/lib/apt/lists/* \
           /etc/apt/sources.list.d/cuda.list \
           /etc/apt/sources.list.d/nvidia-ml.list && \

    apt-get update && \
# ==================================================================
# tools
# ------------------------------------------------------------------
    DEBIAN_FRONTEND=noninteractive $APT_INSTALL \
        build-essential \
        apt-utils \
        ca-certificates \
        wget \
        git \
        vim \
        libssl-dev \
        curl \
        unzip \
        unrar \
        cmake \
        && \
# ==================================================================
# python
# ------------------------------------------------------------------
    apt-get update && \
    DEBIAN_FRONTEND=noninteractive $APT_INSTALL \
        python3.8 \
        python3.8-dev \
        python3.8-distutils \
        && \
    wget -O ~/get-pip.py https://bootstrap.pypa.io/get-pip.py && \
    python3.8 ~/get-pip.py && \
    ln -s /usr/bin/python3.8 /usr/local/bin/python && \
    $PIP_INSTALL \
        numpy \
        scipy \
        pandas \
        scikit-image \
        scikit-learn \
        matplotlib \
        Cython \
        tqdm \
        && \
# ==================================================================
# pytorch
# ------------------------------------------------------------------
#pip3 install torch==1.8.2+cu102 torchvision==0.9.2+cu102 torchaudio==0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html
    $PIP_INSTALL \
        future \
        numpy \
        protobuf \
        enum34 \
        pyyaml \
        typing \
        && \
    $PIP_INSTALL \
        --pre torch==1.4.0+cu100 torchvision==0.5.0+cu100 -f \
        https://download.pytorch.org/whl/torch_stable.html \
        && \
# ==================================================================
# config & cleanup
# ------------------------------------------------------------------
    ldconfig && \
    apt-get clean && \
    apt-get autoremove && \
    rm -rf /var/lib/apt/lists/* /tmp/* ~/*

进阶使用方法

TODO文章来源地址https://www.toymoban.com/news/detail-457945.html

  • 配置文件修改文件系统的挂载
  • 增加端口映射的输出
  • 增加图形界面,利用VNC做可视化
  • 容器导出,导入

常用的docker命令整理

docker build -t myubuntu:v1 . # build Dockerfile
docker pull nvidia/cuda:10.2-devel-ubuntu18.04 # 拉取远端镜像

docker run -itd --runtime=nvidia --gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video,graphics -v /root/Documents/xxx:/data/ --name test --privileged=true -v /dev/shm:/dev/shm -p 49154:22 IMAGE_ID /bin/bash
# -it必备 d表示在背景里运行; -v 磁盘挂载 本地绝对路径:容器的绝对路径; --name 给你的container取个响亮的芳名;-v /dev/shm:/dev/shm 共享内存; image ID; /bin/bash 执行命令; -p 端口映射 -p 49154:22

docker --help
docker pull pytorch/pytorch:latest #拉取仓库
docker images #查看镜像
docker ps	#查看运行着的容器
docker ps -a #查看所有容器
docker exec -it container-id /bin/bash # 进入容器 
ctrl+D # 退出容器
docker start container-id # 启动容器
docker stop container-id # 停止容器
docker rmi image-id 	# 删除镜像
docker rm container-id 	# 删除容器

systemctl stop docker.service # 停止docker服务
systemctl start docker.service # 开启docker服务

docker export container-id > name.tar #容器的导出,可以带着它到处跑,直接导出的是没有压缩过的,你可以自己压缩一下。
# 还有,文件导出后它其实就不是一个运行着的实例了,它就变成了镜像。
docker import name.tar # 容器导入

到了这里,关于深度学习docker环境配置之nvidia-docker安装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安装nvidia-docker的步骤

    以下是安装nvidia-docker的步骤: 安装Docker CE 首先需要在节点上安装Docker CE。可以使用官方教程进行安装。 安装NVIDIA GPU驱动 在Kubernetes节点上安装NVIDIA GPU驱动,可以使用NVIDIA提供的官方安装脚本。 添加NVIDIA repository 添加NVIDIA repository,以便能够下载nvidia-docker的安装包。使用以

    2024年02月06日
    浏览(39)
  • Ubuntu NVIDIA-Docker安装

    系统环境: 系统:linux 版本:ubuntu20.04 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。NVIDIA 改进了原始的Docker,便于容器使用NVIDIA GPU。由于仿真

    2023年04月22日
    浏览(44)
  • docker和nvidia-docker的安装以及错误记录

    参考链接: nvidia-docker的安装 参考链接 E: Conflicting values set for option Signed-By regarding source https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ /: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg != E: The list of sources could not be read. 解决方法 会列出1个或者2个文件 然后进入/etc/apt/sour

    2024年02月11日
    浏览(36)
  • Ubuntu22.04安装nvidia-docker

    参考这篇文章:Ubuntu22.04安装docker - 掘金 参考这篇文章:Ubuntu 22.04 LTS : NVIDIA Container Toolkit : Install : Server World 流程: 进行测试(拉取nvidia cuda11.5镜像并运行nvidia-smi) # pull Cuda 10.2 image and connect to the interactive session, then run [nvidia-smi] 参考文章: Ubuntu22.04安装docker - 掘金 Ubuntu 22

    2024年02月02日
    浏览(50)
  • 在 OpenEuler 系统上安装 Docker 和 Nvidia-Docker

    ip设置 关闭selinux 1、查看 selinux 状态,SELinux=enabled 即开启 2、关闭selinux,SELINUX=disabled 即关闭 3.重启服务器 显卡检查 查询结果如下: 可以查询到显卡的型号,需要注意以下参数: (rev a1) 表示显卡已启用 (rev ff) 表示显卡未启用,需要根据服务器型号通过BIOS开启 检查驱动是否

    2024年02月04日
    浏览(36)
  • Docker笔记--Ubuntu20.04安装Nvidia-Docker

    目录 1--添加软件包存储库 2--安装Nvidia-Docker2 3--测试         安装 nvidia-docker2 软件包并重新加载 docker 守护程序配置:         执行 sudo apt-get install -y nvidia-docker2,可能会出现以下错误:E: Unable to locate package nvidia-docker2,解决方法是完整执行完第 1 步;         重启

    2024年02月16日
    浏览(39)
  • ubuntu20.04如何安装nvidia-docker?

    导入 NVIDIA GPG 密钥 添加 NVIDIA Docker 存储库 安装 nvidia-container-toolkit 检查nvidia-docker是否安装成功 如果 nvidia-docker 安装成功,命令将启动一个包含 NVIDIA GPU 的容器并运行 nvidia-smi 命令,该命令可以显示有关 GPU 状态的信息。输出结果将显示 GPU 型号、显存大小、温度等信息。 如

    2024年02月15日
    浏览(49)
  • Ubuntu安装NVIDIA-Docker详细教程(离线&&在线)

    B站|公众号:啥都会一点的研究生 虽然在前一贴详细说了安装步骤,Ubuntu安装、卸载Docker,常用镜像、容器操作命令,但还是将其总结写在此处 https://github.com/NVIDIA/nvidia-docker/ 需要代理才能安装。 首先确认已经安装好nvidia的驱动,可以用 nvidia-smi 命令查看 已将离线文件打包

    2024年02月05日
    浏览(51)
  • ubuntu 20.04 docker及nvidia-docker2安装

            使用GPU经常会到要使用nivida-docker2的情况,网上吧老有些不负责人的给安装步骤造成误导,不能一次成功,现将自己一次成功的经验分享如下: 1、安装docker(command by command) # Add Docker\\\'s official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install

    2024年01月18日
    浏览(36)
  • 离线安装docker及nvidia-docker最简单有效的方法

    一台能联网的机器 需要安装的离线服务器 从Index of linux/static/stable/下载docker执行文件 从https://github.com/Jrohy/docker-install/下载离线安装脚本 根据https://github.com/Jrohy/docker-install/的说明完成离线安装 方法参考自Ubuntu离线安装NVIDIA Docker - 知乎的安装流程,修改流程如下: 从libnvid

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包