|
|
| 第1行: |
第1行: |
| '''Docker'''(全称:Docker Engine)是一组用于构建、发布及运行应用程序的开源平台即服务(PaaS)产品<ref name="baike">[https://wapbaike.baidu.com/item/Docker/13344470 Docker_百度百科]</ref><ref name="kepu">[https://cloud.kepuchina.cn/h5/detail?id=7294160476893949952 图文详情——科普中国资源服务]</ref>。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为称为容器的标准化单元<ref name="docs">[https://docs.dockerd.com.cn/guides/docker-overview/ Docker 概述]</ref>。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离<ref name="baike" /><ref name="kepu" />。该服务有免费和高级版本,于2013年首次发布,由Docker, Inc.开发<ref name="baike" /><ref name="kepu" />。{{Infobox|标题=Docker|内容={{!}}- | | 轻之舟百科([[英文]]名:CaelLab [[Wiki]],别名:'''130Wiki)'''是[[虚舟实验室(CaelLab)]]旗下基于 [[MediaWiki]] 引擎构建的[[开放式网络百科全书]],于 2026 年 4 月 1 日正式创建并上线运营<ref name=":0">[https://www.caellab.com/ 虚舟实验室(CaelLab)官方网站]</ref><ref name=":1">[https://pedia.caellab.com/wiki/%E8%BD%BB%E4%B9%8B%E8%88%9F%E7%99%BE%E7%A7%91:%E5%85%B3%E4%BA%8E 轻之舟百科:关于]</ref>。该站点面向互联网公众开放阅览,致力于整理各类概念、项目、技术与常识条目,构建完整、规整、易于查阅的知识条目库,主要覆盖青少年、编程、互联网、计算机等领域的深度知识,同时持续扩展常规向知识库<ref name=":1" />。 |
| ! 中文名
| | {| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;" |
| {{!}} 应用容器引擎
| | ! colspan="2" style="text-align:center;" |'''轻之舟百科''' |
| {{!}}-
| | |- |
| ! 外文名
| | |中文名 |
| {{!}} Docker
| | |'''轻之舟百科''' |
| {{!}}-
| | |- |
| ! 启动时间
| | |英文名 |
| {{!}} 2013年3月<ref name="baike" />
| | |'''CaelLab Wiki''' |
| {{!}}-
| | |- |
| ! 主要赞助商
| | |别名 |
| {{!}} Docker, Inc.<ref name="baike" />
| | |'''130Wiki''' |
| {{!}}-
| | |- |
| ! 适用系统
| | |上线时间 |
| {{!}} Windows,macOS,Linux<ref name="baike" />
| | |'''2026年4月1日''' |
| {{!}}-
| | |- |
| ! 适用架构
| | |运营 |
| {{!}} x86-64,ARM,s390x,ppc64le<ref name="baike" />
| | |'''[[虚舟实验室(CaelLab)]]''' |
| {{!}}-
| | |- |
| ! 许可协议
| | |网站域名 |
| {{!}} Apache 2.0 license<ref name="baike" />
| | |[https://wiki.130.pub '''wiki.130.pub'''] |
| {{!}}-
| | |- |
| ! 编程语言
| | |底层引擎 |
| {{!}} Go<ref name="baike" /><ref name="kepu" />}}Docker是一个开源的平台,用于开发、交付和运行应用程序<ref name="baike" /><ref name="kepu" />。它能够在Windows,macOS,Linux计算机上运行,并将某一应用程序及其依赖项打包至一个容器中,这些容器可以在任何支持Docker的环境中运行<ref name="baike" /><ref name="kepu" />。容器彼此隔离,但可以通过特定的通道相互传递信息<ref name="baike" /><ref name="kepu" />。
| | |'''[[MediaWiki]]''' |
| | |- |
| | |内容领域 |
| | |'''[[青少年]]、[[编程]]、[[互联网]]、[[计算机]]等''' |
| | |- |
| | |网站类型 |
| | |'''[[开放式网络百科全书]]''' |
| | |- |
| | |曾用域名 |
| | |[https://pedia.caellab.com pedia.caellab.com] |
| | |- |
| | |Logo |
| | |[[File:轻之舟百科Logo.png|thumb|轻之舟百科的Logo]] |
| | |} |
|
| |
|
| Docker提供了一个轻量级的虚拟化解决方案。由于运行在同一计算机上的所有容器共享同一个操作系统内核,避免了启动与维护虚拟机的开销。因此相比于传统的虚拟机,Docker容器更加轻便、快速、容易部署<ref name="baike" /><ref name="kepu" />。使用Docker,开发者可以避免在两台计算机上运行效果不一致的问题,容器提供了一致的行为,进而使得应用程序在不同环境的计算机上有相同的运行效果<ref name="baike" /><ref name="kepu" />。
| | == 概述 == |
| | 轻之舟百科作为[[虚舟实验室]]的知识存档与分享平台,全程基于 [[MediaWiki]] 引擎搭建、部署与运营,全站词条体系、内链结构、编辑系统、版本追溯及页面渲染功能均来自该程序原生框架<ref name=":3">[https://pedia.caellab.com/wiki/Mediawiki Mediawiki - 轻之舟百科]</ref>。站点定位为开放式知识库,面向公众开放注册与编辑。<ref name=":2">[https://pedia.caellab.com/wiki/%E8%BD%BB%E4%B9%8B%E8%88%9F%E7%99%BE%E7%A7%91:%E4%B8%80%E8%88%AC%E5%85%8D%E8%B4%A3%E5%A3%B0%E6%98%8E 轻之舟百科:一般免责声明]</ref>。其命名源自虚舟实验室品牌理念中的"[[虚舟]]"意象,取"轻舟"之灵活姿态,寓意以轻盈之态承载知识传播<ref name=":0" />。 |
|
| |
|
| == 发展历史 == | | === 许可证 === |
| | 轻之舟百科选用了 [https://www.caellab.com/license/bysa-content CaelLab BY-SA Content License] 授权未另有声明的内容<ref>[[File:轻之舟百科首页20260715快照.png|thumb|轻之舟百科首页20260715快照]] |
| | </ref>。 |
|
| |
|
| === 技术起源 ===
| | == 历史沿革 == |
| 最初Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上。后基于Go语言自研libcontainer用以替换LXC<ref name="baike" /><ref name="kepu" />。Docker自2013年以来非常火热,无论是从GitHub上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持,就连Google的Compute Engine也支持Docker在其之上运行<ref name="baike" /><ref name="kepu" />。
| |
|
| |
|
| Docker之所以大获成功,是因为彼时的软件开发者面临环境管理复杂、云计算时代到来、虚拟化手段变化以及LXC移动性等问题<ref name="baike" /><ref name="kepu" />。Docker的设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱。用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造<ref name="kepu" />。
| | === 创建与上线 === |
| | 2026 年 4 月 1 日,虚舟实验室正式创建并运营轻之舟百科项目,基于 MediaWiki 稳定版部署上线,域名定为 pedia.caellab.com<ref name=":0" /><ref name=":4">[https://pedia.caellab.com/wiki/%E7%8E%8B%E8%80%80%E6%B3%BD%EF%BC%88%E8%99%9A%E8%88%9F%E5%AE%9E%E9%AA%8C%E5%AE%A4%E5%88%9B%E5%A7%8B%E4%BA%BA%EF%BC%89 王耀泽(虚舟实验室创始人) - 轻之舟百科]</ref>。由于上线当日恰逢愚人节,该发布一度被外界视为玩笑,但项目随后进入正式运营阶段<ref name=":5">[https://pedia.caellab.com/wiki/%E8%99%9A%E8%88%9F%E5%AE%9E%E9%AA%8C%E5%AE%A4%EF%BC%88CaelLab%EF%BC%89 虚舟实验室(CaelLab) - 轻之舟百科]</ref>。 |
|
| |
|
| === 发展历程 ===
| | == 内容定位 == |
| 2010年夏季,Founder's Den的第一批孵化项目中的12家初创公司之一,Docker Inc.由Kamel Founadi、Solomon Hykes和Sebastien Pahl在Y Combinator夏季创业孵化器团队中创立,并于2011年运营。之后,Hykes在法国的dotCloud(一家PaaS公司)内部启动了Docker项目<ref name="kepu" />。
| | 轻之舟百科主要面向[[青少年]]、[[编程]]、[[互联网]]、[[计算机]]等技术领域,整理相关概念、项目、技术与常识条目,同时持续扩展常规向知识库<ref name=":1" />。词条内容仅供查阅与学习参考,不构成专业建议、学术结论或官方指导<ref name=":2" />。 |
|
| |
|
| 2013年3月,Docker以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护<ref name=":1">[https://developer.huawei.com/consumer/cn/forum/topic/0202139463581360327 打开 Docker 大门-华为开发者话题]</ref>。Docker项目后来还加入了Linux基金会<ref name=":1" />。
| | == 技术架构 == |
| | 轻之舟百科基于 [[MediaWiki]] 程序构建,采用 [[PHP]] 作为核心服务端[[编程语言]],搭配 [[MySQL]]/[[MariaDB]] [[数据库]][[存储]]词条[[文本]]、[[用户]][[数据]]、页面配置与内链索引,前端基于 [[HTML]]、[[CSS]] 实现页面渲染<ref name=":3" />。程序采用[[前后端分离]][[架构]],底层内核与界面皮肤、扩展插件完全解耦,支持在不修改核心代码的前提下自定义站点界面与功能扩展<ref name=":3" />。 |
|
| |
|
| 2014年,随着0.9版本的发布,Docker用自己的组件libcontainer替换了LXC,后者是用Go编程语言编写的。同年11月,亚马逊弹性计算云(EC2)的Docker容器服务发布<ref name="kepu" />。
| | == 运营机制 == |
| | | 站点采用[[开放式网络百科全书]]运行。 |
| 2016年4月,独立软件供应商Windocks向Windows发布了Docker开源项目的移植版,支持Windows<ref name="kepu" />。
| |
| | |
| == 架构 == | |
| Docker使用客户端-服务器(C/S)架构<ref name="docs" /><ref name=":2">[https://developer.aliyun.com/article/1602772 docker的底层原理]</ref>。Docker客户端与Docker守护进程对话,Docker守护进程负责构建、运行和分发Docker容器的繁重工作<ref name="docs" />。Docker客户端和守护进程可以在同一系统上运行,或者可以将Docker客户端连接到远程Docker守护进程<ref name="docs" />。Docker客户端和守护进程通过REST API在UNIX套接字或网络接口上进行通信<ref name="docs" />。
| |
| | |
| === Docker守护进程 ===
| |
| Docker守护进程(dockerd)侦听Docker API请求并管理Docker对象,例如镜像、容器、网络和卷。守护进程还可以与其他守护进程通信以管理Docker服务<ref name="docs" />。
| |
| | |
| === Docker客户端 ===
| |
| Docker客户端(docker)是许多用户与Docker交互的主要方式。当用户使用诸如`docker run`之类的命令时,客户端会将这些命令发送到`dockerd`守护进程,后者会执行这些命令<ref name="docs" />。
| |
| | |
| === Docker注册表 ===
| |
| Docker注册表存储Docker镜像。Docker Hub是一个任何人都可以使用的公共注册表,并且Docker默认配置为在Docker Hub上查找镜像。用户甚至可以运行自己的私有注册表<ref name="docs" />。
| |
| | |
| == 核心概念 ==
| |
| Docker的三大核心概念是镜像(Image)、容器(Container)和仓库(Repository)<ref name=":3">[https://cloud.tencent.com/developer/article/2315325 深入理解Docker的三大核心概念:镜像、容器与仓库]</ref>。
| |
| | |
| === 镜像 ===
| |
| Docker镜像是一个只读的模板,可以用来创建Docker容器<ref name=":3" />。它相当于是一个root文件系统,包含了运行某个应用所需的所有内容,包括代码、运行时、系统工具、库和设置<ref name=":3" />。
| |
| | |
| === 容器 ===
| |
| 容器是镜像的运行实例<ref name=":3" />。它是一个轻量级的、独立的、可执行的软件包,包含运行应用程序所需的一切<ref name="docs" />。容器可以被启动、开始、停止、删除,并且彼此相互隔离<ref name=":3" />。
| |
| | |
| === 仓库 ===
| |
| 仓库是用来存储和管理Docker镜像的地方,类似于代码仓库<ref name=":3" />。Docker官方提供了Docker Hub仓库<ref name=":3" />。一个Docker注册表(Registry)中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像<ref name=":4">[https://developer.aliyun.com/article/1417780 一篇文掌握Docker镜像容器仓库核心概念及生命周期管理-开发者社区-阿里云]</ref>。
| |
|
| |
|
| == 参考文献 == | | == 参考文献 == |
| <references /> | | <references /> |