欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Docker入门篇(Docker基础概念与Linux安装教程)

Docker入门篇(Docker基础概念与Linux安装教程)

2025/2/4 8:12:45 来源:https://blog.csdn.net/Future_yzx/article/details/145431104  浏览:    关键词:Docker入门篇(Docker基础概念与Linux安装教程)

目录

                  一、什么是Docker、有什么作用

二、Docker与虚拟机(对比)

三、Docker基础概念

四、CentOS安装Docker


一、从零认识Docker、有什么作用

1.项目部署可能的问题:

大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:依赖关系复杂,容易出现兼容性问题,开发、测试、生产环境有差异

2.Docker如何解决依赖的兼容问题的?
  • 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包;

  • 将每个应用放到一个隔离容器去运行,避免互相干扰

3. Docker封装好的程序包如何跨系统运行?

用户程序、操作系统内核、硬件之间的关系:

  • 内核与硬件交互,提供操作硬件的指令

  • 系统应用封装内核指令为函数,便于程序员调用

  • 用户程序基于系统函数库实现功能

前提:

不同Linux操作系统(如CentOS和Ubuntu),他们的的内核相同,但是开放给程序员使调用的的"系统调用"(俗称函数库)是有差异的,因此,项目的node、数据库等环境不能跨系统运行。

Docker是如何解决上述问题的呢?

  • Docker将用户程序与所需要调用的系统函数库一起打包。

  • Docker的程序包在运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行。

可以说,Docker打包好的程序包可以在任何使用Linux内核的操作系统上运行。

总的来说:

(1)Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题? 答:Docker允许在开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像; Docker应用运行在容器中,使用沙箱机制,相互隔离

(2)Docker如何解决开发、测试、生产环境有差异的问题? 答:Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行。

总结:

Docker是一个快速交付应用、运行应用的技术:

  1. 可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统;

  2. 运行时利用沙箱机制形成隔离容器,各个应用互不干扰;

  3. 启动、移除都可以通过一行命令完成,方便快捷;

二、Docker与虚拟机(对比)

虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在Windows系统里面运行Ubuntu系统,这样就可以运行任意的Ubuntu应用了。

Hypervisor是一种模拟计算机硬件的技术。

特性Docker虚拟机
性能接近原生性能较差
硬盘占用一般为MB一般为GB
启动秒级分钟级

Docker和虚拟机的差异:

  • docker是一个系统进程;虚拟机是在操作系统中的操作系统;

  • docker体积小、启动速度快、性能好;而虚拟机体积大、启动速度慢、性能一般;

三、Docker基础概念

1. 镜像和容器

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。

注意:

  • 镜像是只读的,基于镜像创建的容器(进程),只能对镜像作读操作;

  • 对于一些需要写操作的文件,如日志和数据等,容器需要进行一个备份,如上图;

2. Docker和DockerHub

DockerHub: DockerHub是一个Docker镜像的托管平台。这样的平台统称为Docker Registry.。

国内也有类似于DockerHub的公开服务,比如网易云镜像服务、阿里云镜像库等。

3. Docker架构
  1. 如何利用Docker完成镜像构建?

  2. 如何从远端拉取一个镜像呢?

  3. 如何去运行一个容器呢?

Docker是一个CS架构的程序,由两部分组成: ◆服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 ◆客户端(client):通过命令或RestAPIT向Docker)服务端发送指令。可以在本地或远程向服务端发送指令。

图中Registry相当于官方远程仓库,存储这各种官方镜像。

总结:

镜像:将应用程序及其依赖、环境、配置打包在一起。 容器:镜像运行起来就是容器,一个镜像可以运行多个容器。

Docker结构: 服务端:接收命令或远程请求,操作镜像或容器; 客户端:发送命令或者请求到Docker服务端;

DockerHub:一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry;


四、CentOS安装Docker

请参考我的这篇博客:

Docker 安装详细教程(适用于CentOS 7 系统)-CSDN博客文章浏览阅读350次,点赞6次,收藏7次。Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月);EE即企业版,强调安全,付费使用,支持周期24个月。Docker CE 分为和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍Docker CE在CentOS上的安装。Docker CE 支持64位版本 CentOS7,并且要求内核版本不低于3.10,CentOS7满足最低内核的要求,所以我们在CentOS7安装Docker。 https://blog.csdn.net/Future_yzx/article/details/145429037


总结

        本文介绍了 Docker 的基础概念和常见应用,重点讲解了它如何解决跨系统部署问题,并与虚拟机进行了对比。我们还详细说明了 Docker 镜像、容器、Docker Hub 等核心概念,并提供了在 CentOS 上安装 Docker 的具体步骤。

        通过这篇教程,你应该能够理解 Docker 的基本功能并顺利安装使用它。掌握 Docker 将帮助你提高开发效率和部署灵活性。如果有更多问题,欢迎继续关注后续内容。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com