[容器化技术之二] Docker的安装配置
一、版本命名
Docker在1.13版本之后,从2017年的3月1日开始,版本命名规则变为如下:
项目 | 说明 |
---|---|
版本格式 | YY.MM |
Stable版本 | 每个季度发行 |
Edge版本 | 每个月度发行 |
当前Docker CE Stable版本 | 18.09 |
当前Docker CE Edge版本 | 18.09 |
二、安装
1、系统要求
Docker CE支持64位CentOS 7,并且要求内核版本不低于3.10。
2、卸载旧版本
旧版本的Docker称为docker或者docker-engine,使用以下命令卸载旧版本:
sudo yum remove docker docker-common docker-selinux docker-engine
3、使用yum安装
sudo yum install docker-ce
4、安装过程
(1)检查centos内核版本
(2)安装docker
安装的时候提示找不到可用的docker-ce软件包,这是因为没有安装docker必要的依赖,需要使用以下命令安装:
除此之外还需要安装docker的yum源
重新安装docker-ce
同意安装软件包及其依赖
5、使用脚本安装
在测试或开发环境中Docker官方为了简化安装流程,提供了一套便捷的安装脚本,Centos系统系统上可以使用这套脚本安装:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh -- mirror Aliyun
执行这个命令后,脚本就会自动地将一切准备工作做好,并且把Docker CE的Edge版本安装在系统中。
6、启动Docker CE
sudo systemctl enable docker # 设置开机自启docker服务
sudo systemctl start docker # 启动docker
docker info # 查看docker版本软件信息
( 1)设置开机自启
(2)启动docker并查看信息,可以看到安装的docker-ce版本是19年3月份版本
docker info # 查看docker信息
(3)查看docker的简单版本信息
docker --version # 查看docker简单版本信息
docker-12.png
7、建立docker用户组
默认情况下,docker命令会使用Unix socket与Docker引擎通讯。而只有root用户和docker组的用户才可以访问Docker引擎的Unix socket。一般Linux系统上不会直接使用root用户进行操作。因此,需要将使用docker的用户加入docker用户组。
sudo groupadd docker # 建立docker组
sudo usermod -aG docker $USER # 将当前用户加入docker组
8、测试Docker是否安装正确
docker run hello-world # 启动一个基于hello-world镜像的容器
默认使用的镜像仓库是Docker Hub,如果本地有镜像则直接为其创建容器;如果没有则先把镜像从仓库拉取到本地再创建容器。第一次启动时本地没有镜像,所以会先从远程仓库拉取下载,再启动运行,如图所示:
三、卸载
1、删除docker安装包
sudo yum remove docker-ce
2、删除docker镜像
docker会将镜像、容器还有配置等相关的文件放在宿主机的/var/lib/docker目录下,如果卸载了Docker想清空残留的关联文件,则执行以下命令即可:
sudo rm -rf /var/lib/docker
四、镜像加速器
1、配置镜像加速器
国内从Docker Hub拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker官方和国内很多云服务商都提供了国内加速器服务,例如:
- Docker官方提供的中国registry mirror
- 阿里云加速器
- DaoCloud加速器
- 163加速器
下面演示配置网易的镜像加速器:
对于使用systemd的系统,请在/etc/docker/daemon.json中写入如下内容(如果文件不存在则新建该文件)
{
"registry-mirrors":[
"http://hub-mirror.c.163.com"
]
}
重新启动服务生效
sudo systemctl daemon-reload
sudo systemctl restart docker
配置重启之后使用docker info查看信息时可以看到以及配置的镜像加速器地址:
2、验证镜像加速器是否生效
先使用docker rmi hello-world
命令删除本地的hello-world镜像,提示无法删除因为有对应的容器存在,使用docker ps -a
命令查看所有的容器,再使用docker rm -f 容器ID
删除容器,再次尝试删除hello-world镜像,删除成功。使用docker image
命令验证镜像是否还存在,没有则说明确实删除成功,如下图所示:
接下来再重新使用
docker pull
命令拉取,由于hello-world的镜像比较小,看不出镜像加速器的加速效果,试着拉取上百M的ubuntu镜像,可以看到下载速度非常快,说明加速器起作用了,如下图所示:五、ubuntu安装Docker
环境说明:
本安装教程使用的ubuntu
版本为16.04
,内核版本为4.15.0-45-generic
。
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置stable存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新以下apt包索引
sudo apt-get update
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
安装完成后使用
docker info
命令看下安装的docker的信息,版本是19.03.6
:使用
systemctl status docker
查看docker服务是否已启动: