docker容器使用GPU方法实现

目录
  • 1、无nvidia-docker
  • 2、nvidia-docker1.0
  • 3、nvidia-docker2.0
  • 4、安装docker-19.03及以上版本

为了使docker容器可以使用nvidia-docker,可以有如下几种办法:

1、无nvidia-docker

在早期的时候,没有nvidia-docker,可以通过在容器内再部署一遍nvidia GPU驱动解决。同理,其他设备如果想在容器里使用,也可以采用在容器里重新安装一遍驱动解决。

2、nvidia-docker1.0

nvidia-docker是英伟达公司专门用来为docker容器使用nvidia GPU而设计的,设计方案就是把宿主机的GPU驱动文件映射到容器内部使用,可以通过tensorflow生成GPU驱动文件夹。

3、nvidia-docker2.0

nvidia-docker2.0对nvidia-docker1.0进行了很大的优化,不用再映射宿主机GPU驱动了,直接把宿主机的GPU运行时映射到容器即可。启动方式示例:

nvidia-docker run -d -e NVIDIA_VISIBLE_DEVICES=all --name nvidia_docker_test  nvidia/cuda:10.0-base /bin/sh -c "while true; do echo hello world; sleep 1; done"

4、安装docker-19.03及以上版本

docker19.03及以上版本,已经内置了nvidia-docker,无需再单独部署nvidia-docker了。安装方式如下:

安装docker:

yum install -y yum-utils
yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker

安装nvidia-container-toolkit

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

sudo yum install -y nvidia-container-toolkit
sudo systemctl restart docker

启动容器:

docker run --gpus all nvidia/cuda:10.0-base /bin/sh -c "while true; do echo hello world; sleep 1; done"

进入容器并输入nvidia-smi验证。

到此这篇关于docker容器使用GPU方法实现的文章就介绍到这了,更多相关docker使用GPU内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker 使用GPU的过程详解

    目录 下载tf-gpu 基于拉的tf-gpu镜像构建自己的镜像 启动镜像检查GPU是否可用 以TensorFlow2.0为例 下载tf-gpu 在docker hub里选择要下载的tf版本(注意选带GPU和py3的) https://hub.docker.com/r/tensorflow/tensorflow/ 如: docker pull tensorflow/tensorflow:2.0.3-gpu-py3 如果上述下载超时,可以配置清华源. 或者通过如下命令下载: docker pull

  • docker容器使用GPU方法实现

    目录 1.无nvidia-docker 2.nvidia-docker1.0 3.nvidia-docker2.0 4.安装docker-19.03及以上版本 为了使docker容器可以使用nvidia-docker,可以有如下几种办法: 1.无nvidia-docker 在早期的时候,没有nvidia-docker,可以通过在容器内再部署一遍nvidia GPU驱动解决.同理,其他设备如果想在容器里使用,也可以采用在容器里重新安装一遍驱动解决. 2.nvidia-docker1.0 nvidi

  • 详解复制备份docker容器数据的方法

    这里以jenkins容器为例,介绍三种方法. 方法一 将容器打包成镜像,这时数据就在镜像中了,im:1.0为容器名,可以随便取 docker commit <container id> im:1.0 重新运行镜像,-v将容器内tmp目录映射到宿主机上的tmp目录 docker run -itd -v /tmp:/tmp im:1.0 // 第一个tmp是宿主机目录,第二个是容器内目录 把 /var/jenkins_home的文件复制到tmp下,注意这里的container name是随机生成的

  • Docker容器的使用方法简单示例

    目录 一.拉取镜像 二.运行镜像 三.测试容器内的应用 四.检查宿主机端口 五.停止容器 一.拉取镜像 1.检测镜像是否存在 [root@node1 ~]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 15187 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker con- 2

  • vscode 远程连接服务器docker容器的设置方法

    目录 拉取镜像 运行镜像(产生一个容器) 启动容器 进入容器 查看所有镜像 退出容器 重启容器 查看所有容器 删除容器 批量删除docker中已经停止的容器 vscode通过ssh远程连接服务器中的容器 拉取镜像 docker pull [options] name [:tag] 表示从仓库拉取镜像 options是参数 tag是版本 运行镜像(产生一个容器) docker run [options] image [:tag] [command] [arg-] 运行一个容器 以镜像为模版创建容器

  • Redis快速部署为Docker容器的实现方法

    目录 入门 数据存储 配置您的服务器 管理Redis安全 使用您的 Redis 安装 概括 Redis是一种内存键值存储,可以保存高性能的抽象数据结构.开源软件通常用于数据库.消息传递和缓存功能. Docker 是将应用程序打包到容器中的领先工具包.它允许您将软件组件隔离到具有自己的文件系统的独立环境中. 在本指南中,我们将使用 Docker 使用Docker Hub 上的官方镜像快速部署 Redis .与裸机安装相比,Docker 实现了更简单的设置过程,并且不会用新包污染您的主机.在继续之前

  • 教你使用Portainer管理多台Docker容器环境的方法

    目录 Portainer管理多台Docker容器环境 2.管理docker 2.1安装运行portaner 2.2修改配置文件 2.3添加节点 2.4效果图 3.踩坑记录 3.1connection refused Portainer管理多台Docker容器环境 1.环境准备 # aliyun 2核8G 139.196.95.123 安装docker和Portainer # aliyun 1核2G 47.100.34.199 安装docker # qingcloud 1核2G 139.198.1

  • Docker容器通过独立IP暴露给局域网的方法

    Docker容器非常轻量,系统开销非常少,比VMware或者VirtualBox用起来方便,部署起来也非常容易.官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用.一般过程是: 1.Docker进程通过监听宿主机的某个端口,将该端口的数据包发送给Docker容器 2.宿主机可以打开防火墙让局域网其他设备通过访问宿主机的端口进而访问docker的端口 这里以CDNS为例,CDNS是一个用于避免DNS污染的程序,通过CDNS可以把你的计算机变成一个抗污染的DNS

  • 在Docker容器中使用iptables时的最小权限的开启方法

    在Docker容器中使用iptables时的最小权限的开启方法 Dcoker容器在使用的过程中,有的时候是需要使用在容器中使用iptables进行启动的,默认的docker run时都是以普通方式启动的,没有使用iptables的权限,那么怎样才能在容器中使用iptables呢?要如何开启权限呢? 那么在docker进行run的时候如何将此容器的权限进行配置呢?主要是使用--privileged或--cap-add.--cap-drop来对容器本身的能力的开放或限制.以下将举例来进行说明: 例如

  • Docker为网络bridge模式指定容器ip的方法

    前言 众所周知bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace.设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上.下面来看看Docker为网络bridge模式指定容器ip的方法. 实现方法 如果只是简单创建一个bridge模式的网络是无法给容器指定ip的 [root@vultrvpn conf.d]# docker network create --driver bridge wordpress_net ad1ff3d972

  • 在Ubuntu 16.04上用Docker Swarm和DigitalOcean创建一个Docker容器集群的方法

    介绍 Docker Swarm是用于部署Docker主机集群的Docker本地解决方案.您可以使用它来快速部署在本地计算机或受支持的云平台上运行的Docker主机集群. 在Docker 1.12之前,设置和部署Docker主机集群需要使用外部键值存储(如etcd或Consul)来进行服务发现.但是,使用Docker 1.12,不再需要外部发现服务,因为Docker提供了一个内置的键值存储,可以开箱即用. 在本教程中,您将了解如何使用Docker 1.12上的Swarm功能部署一组Docker机器

随机推荐