前言

从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

Docker 官方建议要 CentOS7.0 及以上系统版本,本文介绍 Docker CE 在CentOS下的安装使用。

前提条件

内核

Docker运行对内核要求比较高,因此一般建议直接在Ubuntu这样的平台运行。但作为一个容器标准,Docker也是支持其他如CentOS, Mac OS X, Windows等平台。目前Docker支持以下版本CentOS:

  • CentOS 7(64位)
  • CentOS 6.5(64位)及以后

在运行CentOS 6.5及以后版本时,需要内核版本>=2.6.32-431,因为这些内核包含了运行Docker的一些特定修改。

$ uname -r
2.6.32-431.17.1.el6.x86_64

注:网上很多教程说CentOS6.5必须要升级内核到3.10才能使用docker,其实是【可选】升级,但最好升级

Device Mapper

Docker默认使用AUFS作为存储驱动,但是AUFS并没有被包括在Linux的主线内核中。CentOS中可以使用Device Mapper作为存储驱动,这是在2.6.9内核版本引入的新功能。我们需要先确认是否启用该功能:

$ ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 May  1 20:55 /sys/class/misc/device-mapper -> ../../devices/virtual/misc/device-mapper

如果没有检测到Device Mapper,需要安装device-mapper软件包:

$ sudo yum install -y device-mapper

然后重新加载dm_mod内核模块:

$ sudo modprobe dm_mod

安装

CentOS 7

准备

  • CentOS7能上外网
  • yum -y install gcc
  • yum -y install gcc-c++

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_CentOS

  • 卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_docker_02

如果 yum 报告未安装任何这些软件包,这表示情况正常。

安装

  • 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置stable镜像仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_docker_03

  • 更新yum软件包索引
yum makecache fast

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_centos_04

如果这是自添加 Docker 镜像仓库以来您首次刷新软件包索引,系统将提示您接受 GPG 密钥,并且将显示此密钥的指纹。验证指纹是否正确,并且在正确的情况下接受此密钥。指纹应匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35。

  • 安装docker

1、安装指定版本:

yum list docker-ce.x86_64  --showduplicates | sort -r    #从高到低列出Docker-ce的版本

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_linux_05

该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。

例如:指定版本(docker-ce-18.09.9)进行安装:

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

# 例如:
yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_Docker_06

2、安装最新版本:

yum -y install docker-ce
  • 启动docker

执行以下命令启动docker:

systemctl start docker
  • 测试docker

DOCKER版本 和物理机的CUDA版本 docker 版本支持的系统_CentOS_07