您的位置:首页 > 运维架构 > Docker

Nvidia-Docker安装(Ubuntu16.04,其它版本未验证)

2018-12-29 10:15 573 查看
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/weixin_39610043/article/details/85334877

1. 卸载旧版本docker

sudo apt-get remove docker docker-engine docker.io

2. 安装可选内核模块

从 Ubuntu 14.04 开始,一部分内核模块移到了可选内核模块包 ( linux-image-extra-* ) ,以减少内核软件包的体积。正常安装的系统应该会包含可选内核模块包,而一些裁剪后的系统可能会将其精简掉。 AUFS 内核驱动属于可选内核模块的一部分,作为推荐的 Docker 存储层驱动,一般建议安装可选内核模块包以使用 AUFS 。如果没有安装的话可以使用下面的命令安装

sudo apt-get update
sudo apt-get install  linux-image-extra-$(uname -r)  linux-image-extra-virtual

3. 安装Docker CE

安装过程有很多源分为国内和官方,建议国内源,因为官方源国内连不上。

3.1 添加CA证书

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用HTTPS 传输的软件包以及 CA 证书。

sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3.2 添加

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

国内源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

官方源

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.3 添加docker源

国内源

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

官方源

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
3.4 安装docker-ce

更新 apt 软件包缓存,并安装 docker-ce

sudo apt-get update
sudo apt-get install docker-ce
3.5 启动测试docker

启动

sudo systemctl enable docker
sudo systemctl start docker

测试docker是否安装成功

sudo docker run hello-world

4 系统设置

创建用户组

sudo groupadd docker

添加用户进入docker组,以便该用户可以使用docker

sudo gpasswd -a ${USER} docker

重启服务

sudo service docker restart

如果设置完成,万一还是需要sudo才能执行docker命令,则执行如下命令

newgrp - docker
sudo usermod -aG docker your_usernames

5 修改docker仓库和存放目录

打开daemon.json

cd /etc/
sudo vim docker/daemon.json

修改如下,其中

https://cwoel6s9.mirror.aliyuncs.com
为从阿里服务器申请的镜像地址,
/data/docker
为存放目录

{
"registry-mirrors": [
"https://cwoel6s9.mirror.aliyuncs.com"
],
"graph":"/data/docker",
"storage-driver": "overlay",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}

重启docker,并使用docker info查看修改信息

systemctl daemon-reload
systemctl restart docker
docker info

6 nvidia-docker 安装

添加源

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

安装nvidia-docker2软件包并重新加载Docker守护程序配置:

sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd

安装完成后,当需要使用gpu时,使用nvidia-docker代替docker

7 docker 日常使用

7.1镜像导出与导入
导出docker:
docker save -o java8.tar lwieske/java-8
导入docker:
docker load < java8.tar
7.2 docker使用

建立容器

docker run -it ubuntu:14.04 bash

查看容器

docker ps

建立后台运行容器使用

-itd
参数,此时再次进入该容器,使用
docker ps
查看,并执行如下进入容器

docker exec -it 775c7c9ee1e1 bash

注:当需要使用gpu时,使用nvidia-docker代替docker

本人日常使用deepo镜像,并进行后台运行(

-itd
),端口映射(
-p 4445:6006
),本地目录映射至容器
-v /data/mengzb/project:/home
,命名容器名称
--name py36
,使用gpu,
nvidia-docker

nvidia-docker run -itd --name py36 -p 4444:22 -p 4445:6006 -p 4446:8888 -v /data/mengzb/project:/home ufoym/deepo
docker exec -it py36 bash
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: