0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Docker和容器化的兴起

星星科技指导员 来源:volansys 作者:Chintal Shah 2022-12-06 14:22 次阅读

为什么需要码头工人?例如,在本地系统上用 Python 编写的代码可能无法在其他系统或环境中运行。这是由于您使用的库的唯一版本。为了克服这个问题,码头工人来救援。

Docker 是一个用于部署应用程序的平台即服务产品。它为用户提供操作系统级别的虚拟化,以将应用程序与其他环境分开,并以称为容器的软件包形式提供软件。容器彼此分开。它包含自己的依赖项。

要详细了解 docker,了解虚拟机非常重要。

什么是虚拟机?

虚拟机 (VM) 是模拟物理服务器的服务器。VM 模拟在系统物理硬件上安装应用程序的相同环境或配置。根据您的使用案例,您可以使用系统虚拟机或处理虚拟机。VM 允许您在环境中单独执行计算机应用程序或程序。

码头工人和虚拟机之间的区别

与任何 VM 相比,Docker 容器将资源的抽象从硬件级别向上移动到操作系统级别。这将允许使用 Docker 容器的各种好处,如应用程序可移植性、依赖关系管理、独立的微服务、轻松监控应用程序等。

换句话说,VM 是整个硬件服务器的抽象,而容器是操作系统内核的抽象。这种完全不同的虚拟化方法会产生更快、更轻量级的实例。

什么是容器?

Docker 容器是可执行包的标准化单元,可以轻松创建以部署应用程序或为应用程序创建新环境。它可以是操作系统容器,如Ubuntu,CentOS等,也可以是面向应用程序的容器,如CakePHP容器,Python-Flask容器等。

使用 Docker 容器,用户可以设置特定应用程序的任意多个容器,也可以在一个容器中部署多个应用程序。Docker 用户可以根据需要创建任意数量的容器副本,以实现高可用性或纵向扩展过程

与 VM 相比,可以在相同的硬件上运行更多容器,因为容器是轻量级的,并且使用相同的操作系统内核。

什么是 Docker Image?

Docker 镜像是一个模板,有助于创建 Docker 容器,或者可以说是容器的镜像。它们是包含用于创建 Docker 容器的指令集的构建基块。Docker 镜像是通过编写 Docker 文件创建的,其中包含创建 Docker 镜像的命令,并且可以通过执行 Docker 构建命令来创建它。可以通过运行 run 命令来创建 docker 容器。

码头工人架构

了解 Docker 架构有助于轻松理解容器化应用程序架构。Docker使用服务器-客户端架构。架构中主要有两个组件:Docker 守护进程和 Docker 客户端。Docker 客户端使用 REST API 与 docker 守护程序通信。用户可以在同一台服务器上设置 Docker 守护程序和 Docker 客户端,也可以通过部署在不同的服务器上来将其分开。Docker 守护程序管理所有正在运行的容器以及构建新容器的任务。

码头工人守护进程:-Docker 守护程序管理 Docker 架构中的所有组件。它管理附加到容器的 Docker 映像、容器和卷。它还可以与其他 Docker 守护进程通信

码头工人客户端:-用户与 Docker 客户端交互。当用户运行任何 docker 命令时,Docker 客户端会将该命令发送到 Docker 守护程序。Docker 客户端和守护程序可以部署在同一系统上,或者用户可以在远程系统上部署 Docker 守护进程

码头工人注册表:-Docker 映像存储在 Docker 注册表中。Docker Hub 是每个人都可以访问的公共 Docker 注册表。换句话说,Docker 注册表是提供公共和私有注册表的服务,您可以从中存储和获取映像。用户可以登录到 Docker Hub,并可以创建其专用或公共注册表。用户可以从 Docker Hub 拉取 Docker 镜像并创建他们的容器

Docker及其应用程序的重要性

Docker 的目标是使用容器使软件开发、应用程序部署和业务敏捷性变得简单、快速和可靠。使用 Docker,我们可以将我们的应用程序与所有依赖项捆绑在一起,并将它们部署到任何硬件上,而不管任何不同的操作系统。将容器化应用程序迁移到不同的环境非常容易,因为它没有外部依赖性架构。以下是 Docker 的一些应用。

在云环境中部署生产级应用程序

等效硬件上的自动缩放支持应用程序的利用率

简单的代码流水线管理

使用相同的生产复制环境轻松进行代码测试

使用 Docker Hub 轻松获取 Docker 映像

与完全不同的DevOps工具轻松集成,如bitbucket管道,git操作,AWS codebuild,AWS codedeploy,Jenkins等。

什么是 Docker Orchestration?

Docker 编排可自动执行容器的准备、管理、扩展和网络的各个方面。无论您在哪里使用码头工人集装箱,它都将用于任何环境。它将帮助您在完全不同的环境中部署类似的应用程序或配置,而无需对其进行更改和管理容器及其动态环境的生命周期。这些区域将手动管理的任务结合在一起。以下是可以使用 Docker 编排自动化的内容。

容器的预配、部署和删除

如果主机存在内存或 CPU 利用率问题,则容器从一个主机移动到另一个主机

容器之间的负载平衡

高可用性和可扩展性

通过不同矩阵对容器、主机和应用程序进行运行状况监控

在容器之间高效分配资源

容器的冗余和可用性

Docker Swarm 是一个 Docker 编排工具。它可以在 Docker 容器中打包和运行应用程序,从公共或私有存储库中查找现有容器映像,并在任何环境中的任何设备上部署容器。

Docker 的编排工具包括:

码头工人机器 :- 在虚拟机上安装 Docker 引擎

Docker Swarm:- 在单个主机下创建多个 Docker 容器的集群

Docker Compose:- 部署多容器应用程序并管理容器之间的连接

容器化编排工具的优势

提高可移植性:-通过几个命令,用户可以在其他硬件上复制其整个应用程序。易于扩展、销毁和管理依赖项

简单快速的部署:-可以创建新的应用程序容器以应对不断增长的流量

提高生产力:-简化部署和流程管理,减少依赖性

提高安全性:-应用程序与其他应用程序隔离,因此消除了其他应用程序的干扰

VOLANSYS 如何提供帮助

微服务被设计为容器化应用程序,即可以在容器化环境中运行的应用程序

我们为每个平台定义一个 docker 基础映像,例如 JAVA。如果发现任何漏洞,则易于维护、扩展和更新

一旦开发人员提交代码,它就会触发 Jenkins 上的 CI 运行。

在上图的构建部分,Jenkins 负责构建应用程序的可执行文件以及使用它的 docker 镜像。Jenkins 没有任何静态从属,也就是说我们在 Kubernetes 集群上使用 docker 容器来运行 Jenkins 工作负载

将 docker 映像推送到工件工厂后,如果目标环境为 dev,它将触发自动部署。对于其他环境,我们需要触发该过程。Docker 镜像在 Kubernetes pod 下运行

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 应用程序
    +关注

    关注

    37

    文章

    3237

    浏览量

    57550
  • 虚拟机
    +关注

    关注

    1

    文章

    906

    浏览量

    28026
  • python
    +关注

    关注

    55

    文章

    4773

    浏览量

    84385
收藏 人收藏

    评论

    相关推荐

    ARM平台实现Docker容器技术

    及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构
    发表于 07-25 14:36

    ARM平台实现Docker容器技术

    及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构
    发表于 07-17 11:05

    Docker容器技术的安装和使用

    通过Docker,开发人员可以更容易地构建、交付和运行应用程序,同时确保应用程序的一致性和可移植性。它也使得应用程序的部署更加灵活和高效,因为它可以快速地启动、停止和扩展容器,而不会影响其他容器或主机系统。
    发表于 04-16 11:24 281次阅读
    <b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技术的安装和使用

    ARM平台实现Docker容器技术

    ,亦可实现虚拟容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构。通过利用Docker的快速发布、测试和部署代码的方法,可显著减少产
    的头像 发表于 03-07 13:48 732次阅读
    ARM平台实现<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技术

    TLT507-Docker容器部署方法说明

    TLT507-Docker容器部署方法说明
    的头像 发表于 01-26 09:49 420次阅读
    TLT507-<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法说明

    RK3568-Docker容器部署方法说明

    RK3568-Docker容器部署方法说明
    的头像 发表于 01-22 10:12 1260次阅读
    RK3568-<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法说明

    docker容器有几种状态

    Docker 是一种流行的容器平台,它能够帮助开发人员将应用程序和其依赖打包成一个独立的容器,并且能够在不同的环境中进行部署和运行。在 Docke
    的头像 发表于 11-23 09:50 2083次阅读

    docker核心组件有哪些

    Docker 是一种开源的容器平台,它能够实现将应用程序及其依赖项打包到一个可移植的容器中,从而实现快速、可重复、可扩展的部署和管理。Docker
    的头像 发表于 11-23 09:47 1811次阅读

    docker进入容器的方法有哪些

    Docker是一种流行的容器平台,它能够快速构建、交付和运行应用程序。在使用Docker时,我们经常需要进入容器进行调试、管理和运行命令等
    的头像 发表于 11-23 09:45 1.1w次阅读

    Docker与虚拟机的区别

    的操作系统实例来实现虚拟的技术。其实现方式是通过Hypervisor来实现的。Hypervisor是一个运行在物理机上的软件或硬件,负责管理和分配虚拟机的硬件资源。 1.2 Docker Docker是一种
    的头像 发表于 11-23 09:37 9173次阅读

    docker容器容器之间通信

    Docker是一种轻量级容器技术,能够将应用程序及其依赖项封装在一个独立、可移植的容器中。而容器
    的头像 发表于 11-23 09:36 1436次阅读

    docker容器删除后数据还在吗

    Docker作为一个容器平台,提供了轻量级的虚拟化解决方案,能够方便地创建、部署和管理应用程序。然而,对于Docker容器的数据持久性是一
    的头像 发表于 11-23 09:32 1709次阅读

    docker部署对性能的影响

    Docker 是一个流行的容器平台,它提供了一种轻量级的虚拟技术,使得应用程序可以在独立的容器中运行。然而,部署应用程序到
    的头像 发表于 11-23 09:31 1477次阅读

    docker部署mysql的坏处

    Docker 是一种虚拟技术,它允许开发人员在容器内打包应用程序及其所有依赖项,从而实现在不同环境中运行相同的应用程序的能力。然而,在使用 Docker 部署 MySQL 时,也存在
    的头像 发表于 11-23 09:29 1335次阅读

    docker微服务架构实战

    随着云计算和容器技术的快速发展,微服务架构在软件开发领域中变得越来越流行。微服务架构将一个大型的软件应用拆分成多个小型的、独立部署的服务,每个服务负责独立的业务功能。其中,Docker作为一个流行
    的头像 发表于 11-23 09:26 619次阅读