Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。
一、安装docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 **uname -r **命令查看你当前的内核版本
$ uname -r
2、使用 root
权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 如果出现如下错误:
报错:
1 [Errno 14] curl#35 - TCP connection reset by peer
2 [Errno 12] curl#35 - Timeout
设置阿里云yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ sudo yum list docker-ce --showduplicates | sort -r
7、安装docker
- 安装最新版本的 Docker Engine 和 containerd
$ sudo yum install docker-ce docker-ce-cli containerd.io
- 安装特定版本
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,安装的是最新稳定版
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
- 8、启动Docker-CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
- 9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ sudo docker version
- 10、配置国内镜像源,在/etc/docker/daemon.json文件中
vim /etc/docker/daemon.json
加入如下内容:
{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}
//"dns"可以不用配置
或者使用中国科学技术大学镜像地址:https://docker.mirrors.ustc.edu.cn
Docker 中国官方镜像加速官网https://www.docker-cn.com/
**配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 11、使得镜像配置生效并重启docker服务:
systemctl daemon-reload
systemctl restart docker.service
测试docker
docker run hello-world
docker:Docker 的二进制执行文件
run:与前面的docker组合来运行容器
hello-world:指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
显示如下表明docker安装成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.
二、问题
- 1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
- 2、卸载旧版本的包
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
- 3、再次安装docker
$ sudo yum install docker-ce
三、卸载 Docker 引擎
1、卸载 Docker Engine、CLI 和 Containerd 包:
$ sudo yum remove docker-ce docker-ce-cli containerd.io
2、主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd