docker容器和倉庫的差別是什麼
區別:1、容器是從鏡像創建的運行實例,鏡像啟動後的一個實例稱為容器,是獨立運行的一個或一組應用;2、倉庫是集中存放鏡像文件的場所,倉庫註冊伺服器一般存放多個倉庫,每個倉庫有多個鏡像,每個鏡像有不同的標籤。
本教學操作環境: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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop <container_id>);啟動容器(docker start <container_id>);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com
