docker一個(gè)容器只能跑一個(gè)應(yīng)用嗎

docker中一個(gè)容器不是只能跑一個(gè)應(yīng)用;只要資源夠就能夠在一個(gè)容器中運(yùn)行多個(gè)應(yīng)用,但是多個(gè)應(yīng)用運(yùn)行在一個(gè)容器中的弊端很多,違背了容器的初衷,容器要做到輕量;若把應(yīng)用放置在一起,可能會(huì)導(dǎo)致一個(gè)進(jìn)程出問(wèn)題,所有的進(jìn)程無(wú)法訪問(wèn)。

docker一個(gè)容器只能跑一個(gè)應(yīng)用嗎

本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。

docker一個(gè)容器只能跑一個(gè)應(yīng)用嗎

容器中可以運(yùn)行多個(gè)應(yīng)用,只要你資源夠,就能跑起來(lái),但是這違背了容器的初衷,容器就是要做到輕量,隔離,如果把應(yīng)用打到一起,就沒(méi)有意義

多個(gè)進(jìn)程都部署在一個(gè)容器中,弊端很多。比如更新某個(gè)進(jìn)程的鏡像時(shí),其他進(jìn)程也會(huì)被迫重啟,如果一個(gè)進(jìn)程出問(wèn)題導(dǎo)致容器掛了,所有進(jìn)程都將無(wú)法訪問(wèn)。

不建議直接在單個(gè) Docker 容器中運(yùn)行多個(gè)程序。

以 2017年 10 月18 日 Docker 官方支持 Kubernetes 為分水嶺計(jì)算,Kubernetes 贏得容器編排之戰(zhàn)的最終勝利已經(jīng)超過(guò)一年。先來(lái)看一下經(jīng)典的 Kubernetes 架構(gòu)圖:

docker一個(gè)容器只能跑一個(gè)應(yīng)用嗎

可以看到,在 Kubernetes 中,創(chuàng)建、調(diào)度和管理的最小部署單位是 Pod,而不是容器。在沒(méi)有容器化技術(shù)的場(chǎng)景里,同一個(gè) Pod 下的容器都在同一臺(tái)物理或虛擬主機(jī)上運(yùn)行, 這些容器之間能方便地共享數(shù)據(jù)和通信,單個(gè)容器可以獨(dú)立地重建和重新部署。

遵循單一原則,一個(gè)容器只運(yùn)行一個(gè)主進(jìn)程。

多個(gè)進(jìn)程都部署在一個(gè)容器中,弊端很多。比如更新某個(gè)進(jìn)程的鏡像時(shí),其他進(jìn)程也會(huì)被迫重啟,如果一個(gè)進(jìn)程出問(wèn)題導(dǎo)致容器掛了,所有進(jìn)程都將無(wú)法訪問(wèn)。

再根據(jù)官網(wǎng)的提倡的原則而言。

容器 = 應(yīng)用 + 依賴的執(zhí)行環(huán)境

而不是像虛擬機(jī)一樣,把一堆進(jìn)程都部署在一起。

推薦學(xué)習(xí):《docker視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享