搜尋
首頁運維Dockerdocker容器和倉庫的差別是什麼

區別:1、容器是從鏡像創建的運行實例,鏡像啟動後的一個實例稱為容器,是獨立運行的一個或一組應用;2、倉庫是集中存放鏡像文件的場所,倉庫註冊伺服器一般存放多個倉庫,每個倉庫有多個鏡像,每個鏡像有不同的標籤。

docker容器和倉庫的差別是什麼

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

docker容器和倉庫的區別是什麼

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵循Apache2.0協定開源。

Docker 可以讓開發者打包他們的應用程式以及依賴套件到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,每個容器內運行一個應用,不同的容器相互隔離,容器之間不會有任何接口(類似iPhone 的app),容器之間也可以建立通信機制。更重要的是容器效能開銷極低。容器的創建和停止都十分快速,容器本身對資源的需求也十分有限。

Docker 引擎的基礎是 Linux 容器(Linux Containers, LXC)技術。

Docker 映像

Docker映像(Image)類似於虛擬機器映像,可以將它理解為一個面向 Docker 引擎的唯讀的範本。包含了檔案系統。

例如:一個映像可以只包含一個完整的 Ubuntu 作業系統環境,可以稱它為一個 Ubuntu 映像。鏡像裡面僅安裝了 Apache 應用程式(或使用者需要的其他軟體)。可以稱它為一個 Apache 鏡像。

映像是建立 Docker 容器的基礎。透過版本管理和增量的檔案系統,Docker 提供了一套十分簡單的機制來建立和更新現有的映像,使用者甚至可以從網路上下載一個已經做好的應用程式鏡像,並直接使用。

Docker 容器

Docker容器(Container)類似於一個輕量級的沙箱,Docker 利用容器來運作和隔離應用。

容器是從鏡像建立的應用程式運行實例。可以啟動、開始、停止、刪除,而這些容器都是彼此相互隔離的、不可見的。

可以把容器看做是一個簡易版的 Linux 系統環境 (包括 root 使用者權限、行程空間、使用者空間和網路空間等) 以及運行在其中的應用程式打包而成的盒子。

鏡像本身是唯讀的。容器從鏡像啟動的時候,會在鏡像的最上層創建一個可寫層。

Docker 倉庫

Docker倉庫(Repository)類似於程式碼倉庫,它是 Docker 集中存放映像檔的場所。

有時會看到有資料將 Docker 倉庫和倉庫註冊伺服器 (Registry) 混為一談,並且不嚴格區分。實際上,倉庫註冊伺服器是存放倉庫的地方,其上往往存放多個倉庫。每個倉庫集中存放某一類鏡像,往往包括多個鏡像文件,透過不同的標籤 (tag) 來進行區分。

例如存放 Ubuntu 作業系統映像的倉庫稱為 Ubuntu 倉庫,其中可能包括 14.04、12.04 等不同版本的映像。

根據所儲存的映像公開分享與否,Docker 倉庫可以分為公開倉庫 (Public) 和私有倉庫 (Private) 兩種形式。

目前,最大的公開倉庫是官方提供的 Docker Hub,其中存放了數量龐大的映像供用戶下載。國內不少雲端服務供應商 (如時速雲端、阿里雲等) 也提供了倉庫的本地來源,可以提供穩定的國內存取。

當然,使用者如果不希望公開分享自己的映像文件,Docker 也支援使用者在本地網路內建立一個只能自己存取的私有倉庫。當使用者建立了自己的鏡像之後就可以使用 push 指令將它上傳到指定的公有或私有倉庫。這樣使用者下次在另外一台機器上使用該鏡像時,只需要將其從倉庫上 pull 下來就可以了。

映像、容器、倉庫的差異

  • #docker 映像(Images)

一個只讀取模板,可以用來建立容器,一個映像可以建立多個容器;

Docker 提供了一個很簡單的機制來建立和更新現有的映像,甚至可以直接從其他人那裡獲取做好的映像直接使用;

可以理解為Java 中的類別;

  • docker 容器(Container)

容器是從映像建立的運行實例,也就是映像啟動後的實例稱為容器,是獨立運作的一個或一組應用;

Docker 利用容器來運作應用,他可以被啟動、開始、停止、刪除,每個容器都是相互隔離的、確保安全的平台;

可以把容器看做是一個簡易版的Linux(包括root 使用者權限、進程空間、使用者空間和網路空間等)和運行在其中的應用程式;

可以理解為Java 中透過類別建立的實例;

  • docker 倉庫(Resoisitory)

倉庫是集中存放映像檔的場所,類似git 代碼倉庫等;

倉庫(Respository)和倉庫註冊伺服器(Registry)是有區別的。倉庫註冊伺服器一般存放多個倉庫,每個倉庫有多個鏡像,每個鏡像又有不同的標籤tag;

倉庫分為公開倉庫(public)和私有倉庫(private)兩種形式;

最大的公開倉庫是Docker Hub,國內的公開倉庫有阿里雲等;

可以在本地網路創建一個私有倉庫;

當創建好自己的鏡像後,可以透過push 指令把它上傳到公開或私有倉庫;

倉庫的概念類似Git,倉庫註冊伺服器可以理解為GitHub 這種託管服務;

  • docker 主機(Host)

一個實體或虛擬的機器用來執行Docker 守護程式和容器。

  • docker客戶端(Client)

#客戶端透過命令列或其他工具使用 Docker。

推薦學習:《docker影片教學

以上是docker容器和倉庫的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
為什麼要使用Docker?解釋的好處和優勢為什麼要使用Docker?解釋的好處和優勢Apr 25, 2025 am 12:05 AM

使用Docker的原因是它提供高效、便攜且一致的環境來打包、分發和運行應用程序。 1)Docker是一種容器化平台,允許開發者將應用程序及其依賴項打包到輕量級、可移植的容器中。 2)它基於Linux容器技術和聯合文件系統,確保快速啟動和高效運行。 3)Docker支持多階段構建,優化鏡像大小和部署速度。 4)使用Docker可以簡化開發和部署流程,提高效率並確保跨環境的一致性。

Docker在行動:現實世界中的示例和用例Docker在行動:現實世界中的示例和用例Apr 24, 2025 am 12:10 AM

Docker在實際項目中的應用場景包括簡化部署、管理多容器應用和性能優化。 1.Docker簡化了應用部署,如使用Dockerfile部署Node.js應用。 2.DockerCompose管理多容器應用,如微服務架構中的Web和數據庫服務。 3.性能優化使用多階段構建減小鏡像大小,並通過健康檢查監控容器狀態。

Docker vs. Kubernetes:用例和方案Docker vs. Kubernetes:用例和方案Apr 23, 2025 am 12:11 AM

在小型項目或開發環境中選擇Docker,在大型項目或生產環境中選擇Kubernetes。 1.Docker適合快速迭代和測試,2.Kubernetes提供強大的容器編排能力,適合管理和擴展大型應用。

Linux上的Docker:Linux系統的容器化Linux上的Docker:Linux系統的容器化Apr 22, 2025 am 12:03 AM

Docker在Linux上重要,因為Linux是其原生平台,提供了豐富的工具和社區支持。 1.安裝Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。 2.創建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。 3.編寫Dockerfile:優化鏡像大小,使用多階段構建。 4.優化和調試:使用dockerlogs和dockerex

Docker:容器化工具,Kubernetes:編排者Docker:容器化工具,Kubernetes:編排者Apr 21, 2025 am 12:01 AM

Docker是容器化工具,Kubernetes是容器編排工具。 1.Docker打包應用及其依賴成容器,可在任何支持Docker的環境中運行。 2.Kubernetes管理這些容器,實現自動化部署、擴展和管理,使應用高效運行。

Docker的目的:簡化應用程序部署Docker的目的:簡化應用程序部署Apr 20, 2025 am 12:09 AM

Docker的目的是簡化應用部署,通過容器化技術確保應用在不同環境中一致運行。 1)Docker通過將應用和依賴打包到容器中,解決了環境差異問題。 2)使用Dockerfile創建鏡像,確保應用在任何地方一致運行。 3)Docker的工作原理基於鏡像和容器,利用Linux內核的命名空間和控制組實現隔離和資源管理。 4)基本用法包括從DockerHub拉取並運行鏡像,高級用法涉及使用DockerCompose管理多容器應用。 5)常見錯誤如鏡像構建失敗和容器無法啟動,可通過日誌和網絡配置調試。 6)性能優化建

Linux和Docker:不同Linux發行版的DockerLinux和Docker:不同Linux發行版的DockerApr 19, 2025 am 12:10 AM

在Ubuntu、CentOS和Debian上安裝和使用Docker的方法各有不同。 1)Ubuntu:使用apt包管理器,命令為sudoapt-getupdate&&sudoapt-getinstalldocker.io。 2)CentOS:使用yum包管理器,需添加Docker倉庫,命令為sudoyuminstall-yyum-utils&&sudoyum-config-manager--add-repohttps://download.docker.com/lin

掌握Docker:Linux用戶指南掌握Docker:Linux用戶指南Apr 18, 2025 am 12:08 AM

在Linux上使用Docker可以提高開發效率和簡化應用部署。 1)拉取Ubuntu鏡像:dockerpullubuntu。 2)運行Ubuntu容器:dockerrun-itubuntu/bin/bash。 3)創建包含nginx的Dockerfile:FROMubuntu;RUNapt-getupdate&&apt-getinstall-ynginx;EXPOSE80。4)構建鏡像:dockerbuild-tmy-nginx.。 5)運行容器:dockerrun-d-p8080:80

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具