我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

Docker (軟體)

指数 Docker (軟體)

Docker是一個開放原始碼軟體專案,讓應用程式布署在軟體容器下的工作可以自動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統層虛擬化的自動管理機制 。Docker利用Linux核心中的資源分離機制,例如cgroups,以及Linux核心命名空間(name space),來建立獨立的軟體容器(containers)。這可以在單一Linux實體下運作,避免啟動一個虛擬機器造成的額外負擔。Linux核心對命名空間的支援完全隔離了工作環境中應用程式的視野,包括行程樹、網路、用户ID與掛載檔案系統,而核心的cgroup提供资源隔離,包括CPU、記憶體、block I/O與網路。從0.9版本起,Dockers在使用抽象虛擬是經由的LXC與systemd - nspawn提供界面的基礎上,開始包括libcontainer函式庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設施, 依據行業分析公司「451研究」:「Dockers是有能力打包應用程式及其虛擬容器,可以在任何Linux伺服器上執行的依賴性工具,這有助於實現靈活性和便攜性,應用程式在任何地方都可以執行,無論是公有雲、私有雲、單機等。」 。.

目录

  1. 14 关系: Apache许可证中央处理器开放源代码作業系統層虛擬化Cgroups计算机网络電腦記憶體虛擬機器GoLinuxLinux内核LXCX86-64抽象層

  2. 2013年软件
  3. Linux容器化
  4. Linux虚拟化相关软件
  5. 操作系统安全
  6. 操作系统技术
  7. 用Go编程的自由软件
  8. 自由虚拟化软件

Apache许可证

Apache许可证(Apache License),是一个由Apache軟件基金會发布的自由软件许可证,最初为Apache http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的聲明,但它不是一个反版权的许可证。 此许可证最新版本为“版本2”,于2004年1月发布。 Apache许可证在Apache社区内外被广泛使用。Apache基金会下属所有项目都使用Apache许可证,许多非Apache基金会项目也使用了Apache许可证:据统计,截至2012年10月,在sourceforge上有8708个项目使用了Apache许可证。.

查看 Docker (軟體)和Apache许可证

中央处理器

中央处理器 (Central Processing Unit,缩写:CPU),是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。中央处理器、内部存储器和输入/输出设备是现代电脑的三大核心部件。1970年代以前,中央处理器由多个独立单元构成,后来发展出由集成电路制造的中央处理器,這些高度收縮的元件就是所謂的微处理器,其中分出的中央处理器最為复杂的电路可以做成单一微小功能强大的单元。 中央处理器廣義上指一系列可以执行复杂的计算机程序的逻辑机器。这个空泛的定义很容易地将在“CPU”这个名称被普遍使用之前的早期计算机也包括在内。无论如何,至少从1960年代早期开始,这个名称及其缩写已开始在电子计算机产业中得到广泛应用。尽管与早期相比,“中央处理器”在物理形态、设计制造和具体任务的执行上有了极大的发展,但是其基本的操作原理一直没有改变。 早期的中央处理器通常是为大型及特定应用的计算机而定制。但是,这种昂贵的为特定应用定制CPU的方法很大程度上已经让位于开发便宜、标准化、适用于一个或多个目的的处理器类。这个标准化趋势始于由单个晶体管组成的大型机和微机年代,随着集成电路的出现而加速。IC使得更为复杂的中央处理器可以在很小的空间中设计和制造(在微米的數量级)。中央处理器的标准化和小型化都使得这一类数字设备和電子零件在现代生活中的出现频率远远超过有限应用专用的计算机。现代微处理器出现在包括从汽车到手机到儿童玩具在内的各种物品中。.

查看 Docker (軟體)和中央处理器

开放源代码

開放原始碼(Open Source)描述了一种在产品的出品和开发中提供最终源材料的做法。在這個詞廣泛使用前,開發者和生產者使用很多詞去描述這個概念;開放源代碼在互聯網上獲得廣泛使用,參加者需要大量更新電腦原始碼。開放源代碼使得生產模組、通訊管道、互動社群獲得改善。隨後,一個新著作權、軟體授權條款、域名和消費者提供建立的,一個新詞開源軟體誕生。 開源模型概念包括同時間不同時程和方法來生產,相對而言,更加集中式的軟体設計模型,例如典型的商業軟体公司。一個開源軟体開發的主要原則和慣例是易貨貿易和合作的同儕生產,經由免費公開的最終產品、原始資訊、藍圖和--。這逐漸應用在其它領域,例如生物技術。.

查看 Docker (軟體)和开放源代码

作業系統層虛擬化

作業系統層虛擬化(Operating system–level virtualization),亦称容器化(Containerization),是一種虛擬化技術,這種技術將作業系統內核虛擬化,可以允許使用者空間軟體例項(instances)被分割成幾個獨立的單元,在內核中運行,而不是只有一個單一例項運行。這個軟體例項,也被稱為是一個容器(containers),虛擬引擎(Virtualization engine),虛擬專用伺服器(virtual private servers)或是 jails。對每個行程的擁有者與使用者來說,他們使用的伺服器程式,看起來就像是自己專用的。 作業系統層虛擬化之後,可以實現軟體的即時遷移(Live migration),使一個軟體容器中的例項,即時移動到另一個作業系統下,再重新執行起來。但是在這種技術下,軟體即時遷移,只能在同樣的作業系統下進行。 在類Unix作業系統中,這個技術最早起源於標準的chroot機制,再進一步演化而成。除了將軟體獨立化的機制之外,內核通常也提供資源管理功能,使得單一軟體容器在運作時,對於其他軟體容器的造成的交互影響最小化。.

查看 Docker (軟體)和作業系統層虛擬化

Cgroups

cgroups,其名稱源自控制群組(control groups)的簡寫,是Linux内核的一个功能,用来限制,控制與分離一个行程群組的资源(如CPU、内存、磁盘输入输出等)。 這個專案最早是由Google的工程師在2006年發起(主要是Paul Menage和Rohit Seth),最早的名稱為行程容器(process containers)。在2007年時,因為在Linux內核中,容器(container)這個名詞有許多不同的意義,為避免混亂,被重新命名為cgroup,並且被合併到2.6.24版的内核中去。自那以后,又添加了很多功能。.

查看 Docker (軟體)和Cgroups

计算机网络

计算机网络(computer network),通常也简称網路,是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统连接起来,以功能完善的网络软件实现网络的硬件、軟件及资源共享和信息传递的系统。简单的说即连接两台或多台计算机进行通信的系统。.

查看 Docker (軟體)和计算机网络

電腦記憶體

電腦記憶體(Computer memory)是一種利用半導體技術制成的儲存資料的電子裝置。其電子電路中的資料以二進位方式儲存,記憶體的每一個儲存單元稱做記憶元。 電腦記憶體可分为内部存储器(简称内存或主存)和外部存储器,其中内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速率快。内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。.

查看 Docker (軟體)和電腦記憶體

虛擬機器

虚拟机(virtual machine),在计算机科学中的体系结构裏,是指一种特殊的软件,可以在计算机平台和終端用戶之间建立一种环境,而終端用戶则是基于这个軟體所建立的环境来操作软件。.

查看 Docker (軟體)和虛擬機器

Go

Go(又稱Golang)是Google開發的一种静态强类型、編譯型、-zh-hant:並發型;zh-hans:并发型-,并具有垃圾回收功能的编程语言。 ,羅勃·派克(Rob Pike)及肯·汤普逊於2007年9月开始设计Go,,稍後Ian Lance Taylor、Russ Cox加入專案。Go是基於Inferno作業系統所開發的。Go於2009年11月正式宣布推出,成為開放原始碼專案,并在Linux及Mac OS X平台上进行了實現,后来追加了Windows系统下的实现。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。.

查看 Docker (軟體)和Go

Linux

Linux( )是一種自由和開放源碼的類UNIX作業系統。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。,在加上使用者空間的應用程式之後,成為Linux作業系統。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多數Linux系統還包括像提供GUI的X Window之類的程序。除了一部分專家之外,大多數人都是直接使用Linux發行版,而不是自己選擇每一樣組件或自行設置。 Linux嚴格來說是單指作業系統的内核,因作業系統中包含了許多用戶圖形介面和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,內核則改以Linux内核稱之。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将其组合系统命名为GNU/Linux,但Linux不屬於GNU計劃,這個名稱並沒有得到社群的一致認同。 Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是建立在Linux内核之上。 通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其衍生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。.

查看 Docker (軟體)和Linux

Linux内核

Linux内核(Linux kernel),是一种开源的类Unix操作系统宏内核。整个 Linux 操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以 Linux 发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA 接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的 Android 操作系统同样通过 Linux 内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于 Linux 的操作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用 Linux。 Linux内核最早是于1991年由芬兰黑客林納斯·托瓦茲为自己的个人电脑开发的,他当时在 Usenet 新闻组comp.os.minix登载帖子,这份著名的帖子标志着Linux内核计划的正式开始。如今,该计划已经拓展到支持大量的计算机体系架构,远超其他操作系统和内核。它迅速吸引了一批开发者和用户,利用它作为其他自由软件项目的核心,如著名的 GNU 操作系统。 在计划的早期,一些 Minix 的黑客提供了协助。而今天,Linux 内核已接受了超过1200家公司的近12000名程序员的贡献,其中包括一些知名的软硬件发行商。 从技术上说,Linux 只是一个符合 POSIX 标准的内核。它提供了一套应用程序接口(API),通过接口用户程序能与内核及硬件交互。仅仅一个内核并不是一套完整的操作系统。有一套基于 Linux 内核的完整操作系统叫作Linux 操作系统,或是GNU/Linux(在该系统中包含了很多 GNU 计划的系统组件)。 Linux 内核是在GNU通用公共许可证第2版之下发布的 (加上一些非自由固件、blob 与各种非自由许可证),是一个开源项目协作的突出例子。它的版本支持根据版本最长可达6年,貢獻者遍佈世界各地,日常开发相关的讨论在上。.

查看 Docker (軟體)和Linux内核

LXC

LXC,其名稱來自Linux軟體容器(Linux Containers)的縮寫,一種作業系統層虛擬化(Operating system–level virtualization)技術,為Linux内核容器功能的一个用户空间接口。它將應用軟體系統打包成一個軟體容器(Container),內含應用軟體本身的程式碼,以及所需要的作業系統核心和函式庫。透過統一的命名空間和共用API來分配不同軟體容器的可用硬體資源,創造出應用程式的獨立沙箱執行環境,使得Linux用户可以容易的创建和管理系统或应用容器。 在Linux內核中,提供了cgroups功能,來達成資源的區隔化。它同時也提供了名稱空間區隔化的功能,使應用程式看到的作業系統環境被區隔成獨立區間,包括行程樹,網路,使用者id,以及掛載的檔案系統。但是cgroups並不一定需要啟動任何虛擬機器。 LXC利用cgroups與名稱空間的功能,提供應用軟體一個獨立的作業系統環境。LXC不需要Hypervisor這個軟體層,軟體容器(Container)本身極為輕量化,提升了建立虛擬機器的速度。軟體Docker被用來管理LXC的環境。.

查看 Docker (軟體)和LXC

X86-64

x86-64( 又稱x64,即英文詞64-bit extended,64位元拓展 的簡寫)是x86架構的64位拓展,向后相容於16位及32位的x86架構。x64於1999年由AMD設計,AMD首次公開64位元集以擴充給x86,稱為「AMD64」。其後也為英特爾所採用,現時英特爾稱之為「Intel 64」,在之前曾使用過「Clackamas Technology」 (CT)、「IA-32e」及「EM64T」。 蘋果公司和RPM套件管理員以「x86-64」或「x86_64」稱呼此64位架構。甲骨文公司及Microsoft稱之為「x64」。BSD家族及其他Linux發行版則使用「x64-64」,32位元版本則稱為「i386」(或 i486/586/686),Arch Linux用x86_64稱呼此64位元架構。.

查看 Docker (軟體)和X86-64

抽象層

抽象層(abstraction layer, abstraction level,或 a layer of abstraction)是一種隱藏獨特功能執行細節的方法。使用抽象層的軟體模型包含OSI網路協定七層模型、OpenGL繪圖函式庫及以Unix為原本的輸入輸出(I/O)模型,並適用於大部分新一代的作業系統。 在Unix作業系統中,大部分的輸入輸出形式被視為從裝置讀寫的串流值。而串流值模型為了提供獨立裝置被檔案及終端機I/O所使用。為了在應用層讀寫裝置,程式呼叫函數開啟像是終端機的實體裝置或是網路、檔案系統的虛擬裝置。裝置的實體特徵是被允許程式設計師讀寫資料的作業系統所調用。接著作業系統操作正確的讀寫轉換。 大部分的繪圖函式庫,像是OpenGL,提供抽象圖形裝置模型。這種函式庫的主要功能在於轉換程式設計師的指令到圖形元件。這個特殊的繪圖指令與對傳統陰極射線管銀幕的指令不同,而是隱藏了抽象介面的細節。 在資訊科學,抽象層是模型或演算法的推廣。 Category:電腦架構.

查看 Docker (軟體)和抽象層

另见

2013年软件

Linux容器化

Linux虚拟化相关软件

操作系统安全

操作系统技术

用Go编程的自由软件

自由虚拟化软件