暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker、Docker Engine、Docker Desktop和Docker Compose,还有Moby啥关系啥区别

302

40+岁大叔从零开始学AI大模型-买电脑篇

40+岁大叔从零开始学AI大模型-买电脑篇2

40+岁大叔从零开始学AI大模型-买电脑篇3  入手ThinkBook 16p 设计师系列2025!

ThinkBook 16p 的“体检报告”: 40+岁大叔从零开始学AI大模型-买电脑篇4

Windows11家庭中文版安装 WSL 及已禁止(403)错误解决:40+岁大叔从零开始学AI大模型 5
ollama + Deepseek本地部署试运行:40+岁大叔从零开始学AI大模型 6
本文是40+岁大叔从零开始学AI大模型的第7篇,理清一下AI大模型学习中常用的Docker相关概念。
在容器技术领域,Docker、Docker EngineDocker Desktop和Docker Compose等术语常被提及,大叔有时候很是迷惑,我们常说的docker到底指的是哪一个,有新闻说docker对大企业的收费是指啥?
关于Docker
Docker 是一种开源的容器化平台,用于构建、部署和运行应用程序。它将应用及其所有依赖项(代码、运行时、库、配置文件等)打包到一个轻量级、可移植的容器中,实现环境标准化和跨平台运行。
通常我们说的docker,一般指docker 平台,即整个容器化技术生态,包含工具链、标准和社区资源,用于构建、分发和运行容器化应用。
Docker架构(architecture)
Docker容器技术采用分层式客户端-服务器架构设计,其技术栈由三大核心组件构成:


    1.交互层:Docker客户端(Docker CLI)
      作为用户与容器平台交互的入口,提供标准化的命令行操作界面通过解析用户输入的docker build/run/push等指令,将操作请求转换为结构化API调用
    2.控制层:Docker守护进程(Dockerd)
      承担容器生命周期管理的核心职能,主要执行三类操作:
      镜像构建:解析Dockerfile指令,逐层构建容器镜像
      容器编排:管理容器创建/启动/停止/销毁等状态转换
      资源调度:通过cgroups和namespace实现进程级资源隔离
      采用模块化设计,支持通过插件扩展存储驱动网络方案等组件
    3.数据层:容器存储与镜像仓库
      集成overlay2等存储驱动管理容器可写层,通过内容寻址存储(CAS)机制优化镜像层复用支持与私有仓库(Docker Registry)及云服务商镜像服务无缝对接

    参考:

      https://docs.docker.com/get-started/docker-overview/

      Docker Engine

      Docker Engine是一个开源的容器化技术,作为客户端-服务器应用,包含守护进程dockerd、APIs和CLI客户端docker。
      Docker Engine本体遵循Apache License 2.0开源协议,赋予用户四项核心自由:
        自由使用:可无限制用于商业/非商业场景自由修改:
        允许基于源码进行功能定制开发
        自由分发:支持二进制文件的再传播
        自由再授权:衍生作品可选用其他开源协议
        虽然Docker Engine本身是开源的,但通过Docker Desktop分发时,企业用户需要付费。
        参考:
          https://docs.docker.com/engine/
          Docker Desktop

          Docker Desktop是面向开发者的桌面应用程序,集成了 Docker Engine 并添加图形界面和开发工具。Docker Desktop 是Docker公司的一个商业化产品。

          当通过Docker Desktop集成环境获取Docker Engine时,根据企业的规模将触发商业授权规则,需要付费订阅。
          企业判定标准:
          • 员工规模阈值:全职员工数>250人
          • 营收规模阈值:年收入>1000万美元
          (满足任一条件即触发商业授权)
          参考:
            https://www.docker.com/pricing/
            Docker Compose
            Docker Compose事实上是Docker的一种客户端,用于定义和编排多容器应用的声明式配置工具。Docker Compose 通过 YAML 配置文件 实现容器化应用的声明式定义,可以一键部署应用。
            参考:
              https://github.com/docker/compose
              https://docs.docker.com/reference/compose-file/

              关于Moby
              Moby 是由 Docker 创建的开源框架,旨在通过模块化组件组装定制化的容器系统,避免重复开发基础功能。既支撑了 Docker 的商业成功,又为容器生态的多元化发展提供了技术底座。其核心是提供一套完整的“乐高式”工具链,支持用户按需构建专用容器平台。
              简单来说,Moby 是 Docker 的上游项目,Docker 产品(CE/EE)基于 Moby 的参考程序集增强而成:
                Moby:提供“无预设”的底层组件,供高级用户定制;专注代码开发与实验,不接受Docker产品的功能需求或支持请求。
                Docker:在 Moby 基础上添加默认配置(如镜像仓库)、商业支持及优化体验;承担商业化落地,提供稳定版本及企业服务(如Docker Desktop)
                参考:
                  https://mobyproject.org/
                  https://github.com/moby/moby
                  关于使用Docker的合规使用建议:
                    1.生产环境部署:
                    • 推荐通过脚本直接安装Docker Engine CE
                    • 避免在服务器端安装Docker Desktop


                    2.开发环境选择:
                    • 个人开发者可继续使用Docker Desktop免费版
                    • 企业团队建议评估替代方案(如Rancher Desktop、Posman、Colima)

                    文章转载自SQL和数据库技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论