一、Docker是什么? 在使用docker之前,我们应该先去明确docker的存在,是为了解决什么样的问题。
1、在另一台电脑部署你的应用 比如,你写了一个web应用,你在本地调试完全没有问题,但是,如果你向把这个web应用部署到远程服务器上,或者是发个你的朋友,首先,另一台电脑想运行你的web应用,那另一台电脑需要配置比如数据库,web服务器,必要的插件,运行环境等等,而且还不能保证软件完全能运行起来,即使是配置同样的操作系统,也会因为版本的问题导致web应用不能运行
文章图片
要求解决这个问题,让应用能正常在另一台电脑也能运行,我们就需要模拟出和我们本地一样的运行环境,这时我们可能会想到虚拟机,但虚拟机不仅要模拟软件,还要模拟硬件,运行整个操作系统,内存占用高,程序性能也会有影响,显得十分臃肿
2、docker解决部署问题 这个时候,docker就派上了用场,
docker在概念上和虚拟机十分相似,但却轻量灵活的许多,docker不会去模拟底层的硬件,只会为每一个应用,提供完全隔离的运行环境,我们可以在每个环境中,配置不同的工具软件,并且每个环境之间完全不相互影响,而这个环境,在docker中,又被称做容器。
文章图片
二、Docker中三个重要概念
1、Image / 镜像 你可以把镜像理解成一个虚拟机的快照,里面包含了你的应用程序以及程序运行时所需要的所有库
文章图片
2、Container / 容器 通过镜像,我们可以创建出许多不同的容器,这里的容器就好像是一台台运行起来的虚拟机,里面运行了你的应用程序,每个容器都是是独立运行的
文章图片
镜像就好比你的app的安装包,你可以通过这个安装包,安装许多个软件,每个软件都是一个容器,他们独立运行的,互相不干扰
3、Dockerfile Dockerfile是一个自动化的脚本,它主要是用来创建我们的镜像,这个过程就好比我们在虚拟机中安装操作系统和软件一样,而Dockerfile,就是通过脚本的方式,创建镜像,为镜像中配置应用和运行环境
4、Registry / 仓库 我们可以把自己的镜像上传到远程仓库,Docker Hub,听名字你就应该知道这是做什么的,它和github相似,不过GitHub是保存我们的代码,而Docker Hub是保存我们的镜像
三、Docker 安装
1、检查Linux版本 docker需要3.10以上的内核
uname -r
文章图片
2、卸载旧版本的docker 如果之前没有安装过docker,可跳过这一步
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
3、安装下载Docker依赖的工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、添加阿里云的软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo5、更新yum缓存(为了保证能更新和下载需要的服务:如docker)
sudo yum makecache timer
6、开始安装Docker
sudo yum -y install docker-ce
7、启动docker
sudo systemctl start docker
7.1 如果报错
(1)查看安装过的包:
yum list installed | grep docker
文章图片
(2)删除安装的Docker相关的软件包: ?
yum -y remove docker.x86_64?yum -y remove docker-client.x86_64?yum -y remove docker-common.x86_64
【Docker|(一)简单解释Docker是什么以及Docker安装教程】
文章图片
8、 查看Docker是否成功
docker info
9、开机自启
sudo systemctl enable docker
推荐阅读
- Linux|Linux-系统状态检测命令
- Linux|【Linux】权限管理详解
- docker|win11安装Docker玩转OpenCV梦的开始
- 天翼云与龙芯完成产品兼容适配 加速国产化云平台发展
- 星汉未来成为 FinOps 产业标准生态联盟首批会员
- 边缘文化|云原生的初步认识
- Linux|彻底搞懂linux中的权限【详解】
- 微服务学习|Docker学习笔记
- 学习|喜欢Dollar,不喜欢$符