Docker的基本组成![一图能抵千言万语](https://img-blog.csdnimg.cn/20210616091758570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjIxOTU0NQ==,size_16,color_FFFFFF,t_70#pic_center)
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==》run==》tomcat01容器(提供容器服务),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
启动,停止,删除,基本命令
目前就可以把这个容器理解为就是一个简易 的linux系统
仓库(repository):
仓库就是存放镜像的地方
仓库分为共有仓库和私有仓库
Docker hub (默认是国外的)
阿里云…都有容器服务器(配置镜像加速)
安装Docker
环境准备
[root@localhost docker]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost /]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
第1步:卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
第2步:安装需要的安装包
yum install -y yum-utils
#官方源,国外,下载速度慢
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#推荐使用阿里云的源,十分的快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第3步:更新软件包索引
yum makecache fast
第4步:安装docker docker-ce 社区版 docker-ee 企业版
yum install docker-ce docker-ce-cli containrd.io
第5步:启动docker
systemctl start docker
第6步:检验docker是否启动成功
docker version
第7步:测试
docker run hello-world
第8步:查看下载的这个hello-world镜像
docker images
卸载docker
第1步:卸载docker的依赖关系包
yum remove docker-ce docker-ce-cli containrd.io
第2步:删除docker资源
rm -rf /var/lib/docker
docker run 的运行流程图![在这里插入图片描述](https://img-blog.csdnimg.cn/202106160930125.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjIxOTU0NQ==,size_16,color_FFFFFF,t_70#pic_center)
底层原理
Docker是怎么工作的?
Docker是一个 Client - Server 结构的系统,Docker的守护进程运行主机上,通过Sockets从客户端访问
DockerServer接收到Docker - Client的指令就会执行这个命令
Docker为什么比VM快?
1.Docker有着比虚拟机更少的抽象层
2.Docker利用的是宿主机的内核,vm需要时Guest OS。
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的 ,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级别的。