淺談Docker Desktop for Linux和Docker Engine區(qū)別
1. Docker Desktop 介紹
Docker Desktop是一種一鍵安裝應(yīng)用程序,適用于Mac、Linux或Windows環(huán)境,允許您構(gòu)建、共享和運(yùn)行容器化應(yīng)用程序和微服務(wù)。
它提供了一個(gè)直觀的GUI(圖形用戶界面),允許您直接從您的機(jī)器管理容器、應(yīng)用程序和映像。Docker Desktop既可以單獨(dú)使用,也可以作為CLI的補(bǔ)充工具。
2. Docker Engine 介紹
Docker Engine是一種開源容器化技術(shù),用于構(gòu)建和容器化應(yīng)用程序。Docker引擎作為一個(gè)客戶端-服務(wù)器應(yīng)用程序:
- 具有長時(shí)間運(yùn)行守護(hù)進(jìn)程的服務(wù)器。
- 指定接口的api,程序可以使用這些接口與Docker守護(hù)進(jìn)程通信并向其發(fā)出指令。
- 命令行接口(CLI)客戶端docker。
CLI使用Docker api通過腳本或直接的CLI命令來控制Docker守護(hù)進(jìn)程或與之交互。許多其他Docker應(yīng)用程序使用底層API和CLI。守護(hù)進(jìn)程創(chuàng)建和管理Docker對象,如鏡像、容器、網(wǎng)絡(luò)和卷。
Docker Engine可以通過Docker Desktop在各種Linux發(fā)行版、macOS和Windows上使用,也可以作為靜態(tài)二進(jìn)制安裝。
3. Docker Desktop for Linux和Docker Engine有什么區(qū)別?
Docker Desktop for Linux和Docker Engine可以并排安裝在同一臺(tái)機(jī)器上。Docker Desktop for Linux將容器和映像存儲(chǔ)在虛擬機(jī)內(nèi)的隔離存儲(chǔ)位置,并提供限制其資源的控制。為Docker Desktop使用專用存儲(chǔ)位置可以防止它干擾同一臺(tái)機(jī)器上安裝的Docker Engine。
雖然可以同時(shí)運(yùn)行Docker Desktop和Docker Engine,但在某些情況下,同時(shí)運(yùn)行兩者可能會(huì)導(dǎo)致問題。例如,當(dāng)為容器映射網(wǎng)絡(luò)端口(-p /——publish)時(shí),Docker Desktop和Docker Engine可能會(huì)嘗試在您的機(jī)器上保留相同的端口,這可能導(dǎo)致沖突(“端口已經(jīng)在使用”)。
我們通常建議在使用Docker Desktop時(shí)停止Docker Engine,以防止Docker Engine消耗資源并防止如上所述的沖突。
使用如下命令停止Docker Engine:
sudo systemctl stop docker docker.socket containerd
如果你設(shè)置了Docker Engine 隨系統(tǒng)自動(dòng)重啟,請使用如下命令:
sudo systemctl disable docker docker.socket containerd
4. 如何在Docker Desktop和Docker Engine之間切換?
Docker CLI可用于與多個(gè)Docker Engine交互。例如,您可以使用相同的Docker CLI來控制本地Docker Engine和遠(yuǎn)程運(yùn)行在云中的Docker Engine實(shí)例。Docker上下文允許你在Docker Engine實(shí)例之間切換。
在安裝Docker Desktop時(shí),會(huì)創(chuàng)建一個(gè)專用的desktop-linux上下文來與Docker Desktop交互。在啟動(dòng)Docker Desktop時(shí),會(huì)自動(dòng)設(shè)置自己的上下文作為當(dāng)前上下文。這意味著后續(xù)的Docker CLI命令將以Docker Desktop為目標(biāo)。在關(guān)機(jī)或Docker Desktop退出后,將當(dāng)前上下文重置為default上下文。
使用docker context ls命令查看機(jī)器上可用的上下文。當(dāng)前上下文用星號(hào)(*)標(biāo)注;
docker context ls NAME DESCRIPTION DOCKER ENDPOINT ... default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock ... desktop-linux unix:///home/<user>/.docker/desktop/docker.sock ...
如果您在同一臺(tái)機(jī)器上安裝了Docker Desktop和Docker Engine,您可以運(yùn)行Docker context use命令在Docker Desktop和Docker Engine上下文中進(jìn)行切換。
使用default上下文與Docker Engine交互:
docker context use default default Current context is now "default"
使用desktop-linux上下文與Docker Desktop交互
docker context use desktop-linux desktop-linux Current context is now "desktop-linux"
關(guān)于docker上下文更多詳細(xì),請參考:working-with-contexts
到此這篇關(guān)于淺談Docker Desktop for Linux和Docker Engine區(qū)別的文章就介紹到這了,更多相關(guān)Docker Desktop for Linux和Docker Engine內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu?環(huán)境下安裝?Docker環(huán)境詳解
這篇文章主要介紹了Ubuntu?環(huán)境下安裝?Docker環(huán)境詳解的相關(guān)資料,需要的朋友可以參考下2022-10-10
Docker Buildx鏡像壓縮的實(shí)現(xiàn)
本文主要介紹了Docker Buildx鏡像壓縮的實(shí)現(xiàn),顯著減小鏡像體積并提升構(gòu)建效率,適用于多平臺(tái)構(gòu)建、CI/CD流水線等場景,支持多架構(gòu)并行構(gòu)建與高效壓縮算法,優(yōu)化存儲(chǔ)與傳輸性能,降低部署成本,感興趣的可以了解一下2026-05-05
Docker安裝ClickHouse并初始化數(shù)據(jù)測試
clickhouse作為現(xiàn)在流行的數(shù)據(jù)分析數(shù)據(jù)庫,非常熱門,docker如何安裝ClickHouse,很多朋友并不是很明白,今天小編抽空給大家分享一篇教程關(guān)于Docker安裝ClickHouse并初始化數(shù)據(jù)測試的問題,一起看看吧2021-06-06
docker 在容器外執(zhí)行某個(gè)容器內(nèi)的某個(gè)命令操作
這篇文章主要介紹了docker 在容器外執(zhí)行某個(gè)容器內(nèi)的某個(gè)命令操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Docker配置容器開機(jī)自啟或服務(wù)重啟后自啟兩種常見方法
Docker容器自啟動(dòng)是指在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)并運(yùn)行指定的Docker容器,這通常用于確保關(guān)鍵服務(wù)始終可用,無需手動(dòng)干預(yù),這篇文章主要介紹了Docker配置容器開機(jī)自啟或服務(wù)重啟后自啟的?兩種常見方法,需要的朋友可以參考下2025-08-08
Docker容器上用DockerFile部署多個(gè)tomcat服務(wù)的步驟
這篇文章主要介紹了Docker容器上用DockerFile部署多個(gè)tomcat服務(wù)的步驟,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

