首页 >> 大全

一篇文章了解 Docker 的安装、启动以及工作原理!

2023-11-19 大全 33 作者:考证青年

作者 | 是泡泡

来源 | CSDN博客

浅谈

1.1 为什么出现

我们知道,传统的项目开发和运维是两套环境,而且要一一配置环境并且有的时候更新还会导致服务不可用,这就很麻烦了,那么有没有一种很方便不用这么麻烦的技术可以一键安装呢?有!那就是我们的。

1.2 能干吗

现在,用可以打包应用以及环境到一个可移植的镜像中,然后发布到Linux或操作系统的机器上,也可以实现虚拟化,十分的方便,用隔离,打包装箱,为了让不同东西放在同一个环境,通过隔离机制,把服务器利用到极致。(容器与容器之间互不影响,就和集装箱一样,每个都是单独的个体)

我们来对比一下优缺点:

VM:资源占用多,冗余步骤多,启动慢(虚拟出硬件,完整的操作系统,在系统上运行)

容器化技术:不是模拟完整的系统,每个都是隔离起来的,一个崩了不影响其他的,直接运行在宿主机内容,没有自己的内核,不虚拟硬件,轻便。

并且,能让系统运维更简单,测试环境高度一致,也不会出现操作系统不同不能用,有着高效资源利用,内核级别虚拟化,不需要管理程序,可以在一个机器上运行很多容器实例,压榨服务器性能到极致。

的安装

2.1 的组成

分为三个部分组成:

1.镜像 image

2.容器

3.仓库

镜像:镜像就像一个模板,可以通过这个模板创建容器服务,比如有个镜像,我们要运行起来然后它就会变成一个容器(提供服务) 通过镜像可以创建多个容器,服务或者项目运行在容器中。

容器:利用容器技术做到独立运行一个或者一组应用,通过镜像创建,有启动 停止,删除这种基础操作,可以把容器看成简易的linux。

仓库:存放镜像的地方,有公有和私有,共有所有人都可以访问, Hub,阿里云等都有容器服务。

2.2 安装前提

运行在 7上,系统要是64位,内核版本为 3.10 以上。

运行在 -6.5 或更高的版本的 上,系统要是64位,内核版本为 2.6.32-431 或者以上。

uname -r 查看自己的内核

2.3 安装步骤

第一步

确定自己的内核以及系统没问题之后,进行一下卸载旧版本,如果报告未安装这些包,则没有问题。

docker工作原理教程图片__一篇文章了解 Docker 的安装、启动以及工作原理!

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

第二步

安装软件包并且配置镜像仓库

安装软件包的命令 yum install -y yum-utils

yum-util 提供yum--功能

镜像仓库配置 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

这是阿里仓库,对比官方的镜像仓库会更快(因为官方在国外)。

第三步

检查更新yum索引并且安装 CE

检查索引 yum makecache fast

-CE即社区版(由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用),EE 即企业版(为收费版本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计。 相比-EE,增加一些额外功能,更重要的是提供了更安全的保障)

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

或者你想安装特定版本 可以用这个指令

yum list docker-ce --showduplicates | sort -r 查看docker版本yum -y install docker-ce-18.03.1.ce 安装18.03.1.ce版本

如果你用的宝塔界面,那么可以直接去宝塔官网 软件商店下载(比较方便)

如果你是腾讯云服务器,那么可以在服务器界面,点击更多

点击重装系统,选择镜像也可以直接安装,很方便

第四步

启动并且测试版本

如果你安装完成了,那么来尝试一下启动吧!

systemctl start docker

如果没有报错,那说明你启动成功了,然后我们设置一下开机自启动。

systemctl enable docker

随后我们检查一下的版本

docker version

没有问题!

都启动了,那能不玩一下?我们从最开始的开始!

docker run hello-world 这就是启动镜像的命令

如果你的界面出现了这个,那么说明你的没有问题!

此时我们查看一下的镜像

docker images

我们会发现刚才的hello-world就在里面!

第五步

最后就是我们的停止和卸载了

systemctl stop docker

这是停止的指令

yum remove docker-ce docker-ce-cli containerd.iorm -rf /var/lib/docker

卸载首先卸载,然后删除的目录。

run的工作原理

怎么工作的

是一个-结构的系统,的守护进程一直在后台运行在主机上(好比装了个mysql,一直在后台运行),通过从客户端访问。(服务进程)接收到的指令,就会执行这个命令。

客户端连接到守护进程之后它会启动一些容器,都在服务之内,通过这个守护进程造作容器资源(容器里面就好比有个小的linux虚拟机 可以跑 占用资源进程很少,互相隔离,如果想从外部访问要进行一个连通)

为什么比VM快

有更少的抽象层

vm要虚拟出硬件才行,而没有这一层,直接在主机安装服务,运行在服务里的 每个隔离的都是容器 由于不需要实现硬件资源虚拟化 运行在容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上将会在效率上有明显优势。

不需要Guest OS

利用的宿主机的内核,vm是需要。 不用重新加载一个操作系统内核,避免引导,虚拟机需要加载,时间是分钟级别。是利用宿主机的操作系统,就不需要在虚拟出来了,省略了这个复杂的过程,时间是秒级。底层用的是物理机的资源,虚拟机需要模拟物理机的操作系统,所以加载得更快,而虚拟机更慢。

往期推荐

40 张图 详解 容器监控

剖析集群内部DNS解析原理

镜像和容器的导入导出及常用命令

如何从 镜像里提取 !

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了