先决条件:
运行64位CPU架构的计算机
运行Linux3.8以上的内核
内核必须支持一种适合的存储驱动
内核必修支持并开启cgroup和命名空间功能
CentOS7安装
1. 使用yum安装
更新系统
$ sudo yum update
添加yum仓库
$ sudo tee /etc/yum.repos.d/docker.repo<<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安装Docker
$ sudo yum -y install docker-engine
启动Docker服务
$ sudo service docker start
2.使用curl脚本自动安装
查看内核版本
更新系统
$ sudo yum update
脚本安装:(亲测可用)
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
官方提供的脚本安装
curl -sSL https://get.docker.com/ | sh
阿里云的安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
DaoCloud 的安装脚本
curl -sSL https://get.daocloud.io/docker | sh
启动 Docker CE
$ sudo systemctl enable docker #开机启动docker
$ sudo systemctl start docker #启动docker
建立 docker 用户组
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立 docker 组:
$ sudo groupadd docker
将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
测试docker是否安装正确
$ docker run hello-world
$ docker ps -a
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速。
添加内核信息
默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请添加内核配置参数以启用这些功能。
$ sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
然后重新加载 sysctl.conf 即可
$ sudo sysctl -p