Docker简介与安装
发布日期:2021-05-10 06:12:43 浏览次数:31 分类:原创文章

本文共 2560 字,大约阅读时间需要 8 分钟。

什么是docker


笔记整理参考自B站UP主——
Docker本质上是一个采用虚拟化技术的容器,基于Linux容器进行再封装,使用户不用关心容器的管理,而简化应用操作。


docker为什么会出现


众所周知,我们开发项目的时候,会有两套环境,开发环境和上线环境,有的时候,在我们开发人员的电脑里面项目运行的好好的,但是跑到运维人员那里就不行了,这个就是环境不同造成的原因。
所以docker根据这个问题,提出了解决的方案。
在这里插入图片描述


docker可以干啥


在这里插入图片描述
之前的虚拟技术,需要创造出整个操作系统,就有一些缺点



  1. 操作麻烦

  2. 所占资源较多

  3. 安装需要大量时间


在这里插入图片描述
docker技术引进了“容器的概念”,我们知道,我们平时创建虚拟机的时候,都需要创建内核,创建内核的时候,必然需要大量的时间,还有大量的存储空间,所以docker是没有内核的,docker用的是自己本机的内核。


比较Docker和虚拟机技术的不同:



  1. 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件

  2. 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了

  3. 每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
    大家可以想象一下九宫格火锅,每个宫格里面用的调料都是不一样的,但是不需要有九个锅子,只需要一个锅子就行了,这个锅子就相当于是内核,九宫格就相当于是容器。


docker的基本组成


镜像(image):


docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像==>run==>容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。


容器(container):


Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的.
启动,停止,删除,基本命令
目前就可以把这个容器理解为就是一个简易的 Linux系统。


仓库(repository):


仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库。(很类似git)
Docker Hub是国外的。
阿里云…都有容器服务器(配置镜像加速!)


安装已卸载



安装



#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#3.设置镜像的仓库yum-config-manager \    --add-repo \    https://download.docker.com/linux/centos/docker-ce.repo#上述方法默认是从国外的,不推荐#推荐使用国内的yum-config-manager \    --add-repo \    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo    #更新yum软件包索引yum makecache fast#4.安装docker相关的 docker-ce 社区版 而ee是企业版yum install docker-ce docker-ce-cli containerd.io # 这里我们使用社区版即可#5.启动dockersystemctl start docker#6. 使用docker version查看是否按照成功docker version#7. 测试docker run hello-world


卸载



#1. 卸载依赖yum remove docker-ce docker-ce-cli containerd.io#2. 删除资源rm -rf /var/lib/docker# /var/lib/docker 是docker的默认工作路径!

阿里云镜像加速



登录阿里云
在这里插入图片描述
找到镜像加速器



在这里插入图片描述



配置使用



#1.创建一个目录sudo mkdir -p /etc/docker#2.编写配置文件sudo tee /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": ["https://t2wwyxhb.mirror.aliyuncs.com"]}EOF#3.重启服务sudo systemctl daemon-reloadsudo systemctl restart docker

docker流程图


在这里插入图片描述


底层原理


Docker是怎么工作的?


Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!


Docker-Server接收到Docker-Client的指令,就会执行这个命令!


在这里插入图片描述
为什么Docker比Vm快
1、docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2、docker利用的是宿主机的内核,而不需要Guest OS。


在这里插入图片描述


GuestOS: VM(虚拟机)里的的系统(OS)HostOS:物理机里的系统(OS)

因此,当新建一个 容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引导、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个复杂的过程,因此新建一个docker容器只需要几秒钟。

上一篇:Docker常用命令
下一篇:踩坑记录(五) 时间戳出问题

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月16日 16时45分38秒