一、CentOS安装Docker篇
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本。
超简单CentOS7 配置阿里云yum源
1、打开centos的yum文件夹
输入命令cd /etc/yum.repos.d/
2、用wget下载repo文件
输入命令wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装。
当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这个目录上
3、备份系统原来的repo文件
mv CentOS-Base.repo CentOS-Base.repo.bak
即是重命名 CentOS-Base.repo -> CentOS-Base.repo.bak
4、替换系统原理的repo文件
mv Centos-7.repo CentOS-Base.repo
即是重命名 Centos-7.repo -> CentOS-Base.repo
5、执行yum源更新命令
yum clean all
yum makecache
yum update
依次执行上述三条命令即配置完毕。
yum方式安装Docker
1、移除旧的版本:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2、安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新 yum 缓存:
sudo yum makecache fast
5、安装 Docker-ce:
sudo yum -y install docker-ce
6、启动 Docker 后台服务
sudo systemctl start docker
7、测试运行 hello-world
docker run hello-world
到此,Docker 在 CentOS 系统的安装完成。
删除 Docker CE
执行以下命令来删除 Docker CE:
$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker
另外,可以使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。
启动 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start 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 run hello-world
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速。
Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
Docker 中国 registry mirror: https://registry.docker-cn.com
中国科学技术大学:https://docker.mirrors.ustc.edu.cn
七牛云加速器: https://reg-mirror.qiniu.com/
网易云:http://hub-mirror.c.163.com
阿里云:
https://1234abcd.mirror.aliyuncs.com/
https://ckq4qobq.mirror.aliyuncs.com/
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。
也可以单次设置拉取地址,例如使用docker中国镜像:
docker pull registry.docker-cn.com/library/ubuntu:16.04
Daocloud镜像配置,官方脚本一键配置:
参见:https://www.daocloud.io/mirror#accelerator-doc
手动配置,我们以 Docker 官方加速器 https://registry.docker-cn.com 为例进行介绍。
Ubuntu 14.04、Debian 7 Wheezy (对于使用 upstart 的系统而言)
编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
重新启动服务。
$ sudo service docker restart
Ubuntu 16.04+、Debian 8+、CentOS 7 (对于使用 systemd 的系统)
请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{ "registry-mirrors": [ "https://registry.docker-cn.com" ] }
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
注意:如果您之前查看旧教程,修改了 docker.service 文件内容,请去掉您添加的内容(--registry-mirror=https://registry.docker-cn.com),这里不再赘述。
配置加速器之后,可以手动检查加速器配置是否生效,在命令行执行
$ docker info
或者执行一次:
$ docker search ubuntu
添加内核参数
默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请添加内核配置参数以启用这些功能。
more /etc/sysctl.conf
$ 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