Docker简介
服务器部署应用的发展历程:一台服务器部署一个应用 -> 虚拟机 -> Docker
一台服务器往往几十上百个CPU、几百G的内存,只部署一个应用有点大材小用;
在一台服务器上安装多个虚拟机,一个虚拟机上部署一个应用,但在虚拟机上安装应用有点麻烦,需要自己配置各种环境、依赖。
Docker是⼀个开源的应⽤容器引擎,使用GO语言编写,实现了实现虚拟化,让开发者可以打包他们的应⽤及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的 Linux 机器上。
Docker让应用的安装、部署变得十分简便。
Docker的优点
- 和虚拟机一样实现了虚拟化、环境隔离
- 使用镜像,开箱即⽤,可以快速安装、部署应用
- 移植性强
Docker十分适合部署微服务项目
在Linux上安装Docker
准备工作
Docker只能安装在64位的机器上,且要求CentOS的内核版本高于 3.10 。
查看内核版本
uname -r
卸载旧版本的docker
yum -y remove docker docker-common docker-selinux docker-engine
也可以先 yum list installed | grep docker 查看是否安装过docker,安装过才卸载
如果安装docker失败,要先卸载之前装好的部分,再重试,不然会报事务检查失败
安装docker
1、安装依赖
yum install yum-utils device-mapper-persistent-data lvm2 -y
2、设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker-ce
yum install docker-ce
ce是 Community Edition 社区版,ee是企业版
如果执行第3步时报错:
错误:
问题: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(尝试添加 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用最佳选择的软件包)
大意是要先安装大于等于1.2.2-3版本的containerd.io ,或者其它安装方式报错:"未找到匹配的参数: docker-io",也是这个原因
那就先安装大于等于1.2.2-3版本的containerd.io
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
再执行第3步
(4)启动docker
# 开机自启
systemctl enable docker
# 启动docker服务
systemctl start docker
(5)查看docker是否启动成功
#查看docker版本
docker version
#或者查看docker信息
docker info
能看到就说明启动成功
启动之后就可以直接执行docker命令了
来源:oschina
链接:https://my.oschina.net/u/4324558/blog/4264212