docker中一個容器不是只能跑一個應用;只要資源夠就能夠在一個容器中運行多個應用,但是多個應用運行在一個容器中的弊端很多,違背了容器的初衷,容器要做到輕量;若把應用程式放在一起,可能會導致一個行程出問題,所有的行程無法存取。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
容器中可以運行多個應用,只要你資源夠,就能跑起來,但是這違背了容器的初衷,容器就是要做到輕量,隔離,如果把應用打到一起,就沒有意義
多個進程都部署在一個容器中,弊端很多。例如更新某個進程的鏡像時,其他進程也會被迫重啟,如果一個進程出問題導致容器掛了,所有進程都無法存取。
不建議直接在單一 Docker 容器中執行多個程式。
以 2017年 10 月18 日 Docker 官方支援 Kubernetes 為分水嶺計算,Kubernetes 贏得容器編排之戰的最終勝利已經超過一年。先來看經典的 Kubernetes 架構圖:
可以看到,在 Kubernetes 中,建立、排程和管理的最小部署單位是 Pod,而不是容器。在沒有容器化技術的場景裡,同一個 Pod 下的容器都在同一台實體或虛擬主機上運行, 這些容器之間能方便地共享資料和通信,單一容器可以獨立地重建和重新部署。
遵循單一原則,一個容器只執行一個主程序。
多個行程都部署在一個容器中,弊端很多。例如更新某個進程的鏡像時,其他進程也會被迫重啟,如果一個進程出問題導致容器掛了,所有進程都無法存取。
再根據官網的提倡的原則而言。
容器 = 應用程式 依賴的執行環境
而不是像虛擬機器一樣,把一堆行程都部署在一起。
推薦學習:《docker影片教學》
以上是docker一個容器只能跑一個應用程式嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!