转自:https://blog.csdn.net/chxw098/article/details/79741586
最近在使用Docker,比起虚拟机来说个人感觉好用许多。不过,在Linux和Windows的下安装Docker,却会难倒一批人,这是我们不愿意看到的。
本文会详细的介绍在Ubuntu下安装Docker-CE和nvidia-docker的安装,以及如何使用国内镜像加速下载相应的镜像。同样,也会简单的提及一下Windows下的使用。
分享一个Docker的科普:https://yeasy.gitbooks.io/docker_practice/content/introduction/what.html
Docker的创始人今天离职了……难过
Windows下安装Docker
目前,Windows二进制安装文件支持的操作系统最低为Windows 10。如果你使用的是Windows之前的版本则需要去下载DockerToolbox[下载地址]。因为我的Windows版本为10,所以没有进行过安装,所以具体如何使用Toolbox如何安装可以参考如下博客:
https://blog.csdn.net/tina_ttl/article/details/51372604
https://blog.csdn.net/chengly0129/article/details/68944762
https://my.oschina.net/liuyuanyuangogo/blog/608064
安装完成后,可以选择使用命令行的方式进行对Docker的控制,或是使用Kitematic(可单独安装)使用图形化界面对于Docker相关的内容进行处理。
安装完成后,如果在Dock Hub上拉取/提交镜像过慢,可以考虑在 https://www.daocloud.io/ 注册个账号,使用Docker加速器进行加速下载/上传过程。
当然,官方给出的说明更加详细,想了解的同学可以去看下 https://store.docker.com/editions/community/docker-ce-desktop-windows
补充一下:nvidia-docker目前还不支持在Windows上进行安装使用,所以想在Windows Docker中使用CUDA和Nvidia GPU的进行开发小伙伴,最好是转移到Linux下;或直接使用物理机进行开发。
Ubuntu下安装Docker
先放上官方的地址,https://docs.docker.com/install/linux/docker-ce/ubuntu/ 里面很详细。
但是,根据自己的经历,这些东西对于国内的开发者来说,只是看上去很美。
我在添加GPG的步骤curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -时,就要等很久。
在使用下面命令添加源之后,sudo apt update后面直接就不动了……安装过程很是糟心。
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
1
2
3
4
哎…… 还是进入正题吧。因为本人手上有台大家共用的服务器,所以这个问题不得不解决,下面就来分享一下我安装过程。
添加阿里Docker镜像源
参考 https://yq.aliyun.com/articles/110806?commentId=11066
如果之前安装过Docker的旧版本,可以使用下面的命令进行卸载:
sudo apt-get remove docker docker-engine docker.io
1
Ubuntu 14.04 16.04 (使用apt-get进行安装)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
附送:CentOS 7 (使用yum进行安装)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
安装校验
root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
也可以用systemctl status docker.service查看Docker运行状态。
安装nvidia-docker
参考 https://github.com/NVIDIA/nvidia-docker
这里只说一下Ubuntu的,其他Linux变种的安装方式在Github上可以找到。
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
个人感觉这个说明,已经说的很清楚了。我也是采用的这种方式进行的安装,其中pkill的步骤个人认为也可以不做,使用如下命令代替:
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2
使用国内源加速
安装nvidia-docker的最后一步,要在nvidia-docker中测试一下nvidia-smi。
但是,这一步太慢了…… 那就使用国内源进行一下加速吧。
https://www.daocloud.io/ 的加速器可以用,不过不知道为什么,我这次没有成功(在Windows下是没问题的)…… 索性放弃,另寻他法。
然后,我找到了这里 Docker 中国官方镜像加速,网页内有很详细的介绍,这里就不赘述。
找到之后,就要开始下载nvidia/cuda仓库中的镜像,这里我使用的命令是:
docker pull registry.docker-cn.com/nvidia/cuda
1
下载的确很快,整个过程5分钟左右就完成了,镜像解压后为2.23G(解压前的大小不清楚)。
总结
这也是我第一次安装docker-ce和nvidia-docker,走了很多的弯路。很多博客中基本也是按照官网的方式来的,也没有错,但是我没走通。所以,提供另外一种方式供大家参考,以便大家更快速体验Docker带来的方便。
---------------------
作者:听枫烨阁
来源:CSDN
原文:https://blog.csdn.net/chxw098/article/details/79741586
版权声明:本文为博主原创文章,转载请附上博文链接!