Docker、Docker Compose的安装
目录
- docker、docker compose简介
- 在linux上安装docker
docker、docker compose简介
docker是⼀个使用go语言编写的、开源的应⽤容器引擎,实现了虚拟化,简化了应用的安装、部署。
开发者可以将应⽤及依赖打包为docker镜像,然后部署到任何机器上。
docker的优点
- 使用镜像,开箱即用,极大地简化了应用的安装部署,移植性强
- 实现了资源隔离,多个docker应用之间互不影响
docker compose是一个docker工具,通过一个yml文件来定义多容器的docker应用,通过一条命令就可以根据yml创建、管理多个容器。
docker-compose.yml中的基本概念
- service:一个service即一个容器
win、mac安装docker时自动安装了docker compose,linux则没有自动安装,需要手动安装。
在linux上安装docker
docker只能安装在64位的机器上,且要求CentOS内核版本大于 3.10 。
#查看linux内核版本
uname -r
安装docker
#安装依赖
yum install yum-utils device-mapper-persistent-data lvm2 -y
#设置阿里云的docker ce镜像源。这个镜像源只是下载docker ce及相关依赖时会从阿里云下载,docker pull拉取镜像时仍是从公共仓库拉取
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker ce,会自动安装为服务。ce是 Community Edition 社区版,ee是企业版
yum install docker-ce
如果安装时报错
错误:
问题: 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”,也是因为没有安装版本适合的containerd.io。解决方式如下
# 先安装大于等于1.2.2-3版本的containerd.io,注意系统、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
# 重新安装dcoker ce
yum install docker-ce
如果安装失败,重试之前要先卸载干净,不然报错:事务检查失败
# 卸载
yum -y remove docker docker-common docker-selinux docker-engine
#设置docker服务开机自启
systemctl enable docker
#启动docker服务,默认没有启动,需要自行启动
systemctl start docker
systemctl stop docker
systemctl restart docker
#重新加载docker的配置
systemctl daemon-reload
#可通过以下任一种方式验证docker是否安装成功
docker version #显示详细的版本信息
docker --version #显示简略的版本信息
docker info #查看docker的全部信息
还没有评论,来说两句吧...