-
1 # 急速馬力快de原始碼控
-
2 # 騫牧學程式設計
docker-machine
docker-machine是解決docker執行環境問題。
docker技術是基於Linux核心的cgroup技術實現的,那麼問題來了,如果在非Linux平臺上使用docker技術需要依賴安裝Linux系統的虛擬機器。
docker-machine就是docker公司官方提出的,用於在各種平臺上快速建立具有docker服務的虛擬機器的技術。你可以把它理解為virtualbox或者vmware,最開始在win7上用得比較多,但是win10開始自帶了hyper-v虛擬機器,已經不再需要docker-machine了,docker可以直接執行在安裝了Linux系統得hyper-v上。
docker-compose
dcoker-compose主要是解決本地docker容器編排問題。
一般是透過yaml配置檔案來使用它,這個yaml檔案裡能記錄多個容器啟動的配置資訊(映象、啟動命令、埠對映等),最後只需要執行docker-compose對應的命令就會像執行指令碼一樣地批次建立和銷燬容器。
docker-swarm
docker-swarm是解決多主機多個容器排程部署得問題。
swarm是基於docker平臺實現的叢集技術,他可以通過幾條簡單的指令快速的建立一個docker叢集,接著在叢集的共享網路上部署應用,最終實現分散式的服務。
swarm技術相當不成熟,很多配置功能都無法實現,只能說是個半成品,目前更多的是使用Kubernetes來管理叢集和排程容器。
總結:
如果你是在非Linux環境下考慮使用docker-compose,當然我更推薦使用hyper-v或者virtualbox。
如果你需要同時操作多個容器,或者希望使用配置檔案記錄容器啟動命令引數,那麼推薦使用docker-compose。
如果你需要在多臺主機上部署docker容器,並對其進行排程,那麼swarm是一種選擇,當然更推薦Kubernetes。
-
3 # VV科技
Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。
docker三劍客分別指docker machine,dcoker compose,docker swarm
docker machine是解決docker執行環境問題。
Docker Machine是一種工具,可讓您在虛擬主機上安裝Docker Engine,並使用命令管理主機。您可以使用Machine在本地Mac或Windows盒,公司網路,資料中心或Azure,AWS或DigitalOcean等雲提供商上建立Docker主機。
使用 docker-machine 命令,您可以啟動,檢查,停止和重新啟動託管主機,也可以升級 Docker 客戶端和守護程式,以及配置 Docker 客戶端與您的主機進行通訊。
您可以使用Docker Machine來執行以下操作:
在Mac或Windows上安裝並執行Docker設定和管理多個遠端Docker主機供應叢集dcoker compose主要是解決本地docker容器編排問題。
docker-compose 是一個使用者定義和執行多個容器的 Docker 應用程式。在 Compose 中你可以使用 YAML 檔案來配置你的應用服務。然後,只需要一個簡單的命令,就可以建立並啟動你配置的所有服務。使Compose有效的功能包括:
單個主機上的多個隔離環境建立容器時保留卷資料僅重新建立已更改的容器變數和環境之間的合成移動docker swarm是解決多主機多個容器排程部署得問題。Docker Swarm是Docker的本機叢集。它將Docker主機池變成單個虛擬Docker主機。因為Docker Swarm提供了標準的Docker API,所以任何已經與Docker守護程式通訊的工具都可以使用Swarm透明地擴充套件到多個主機。注:圖片來自網路,侵刪
-
4 # The無處安放的時間
1、docker-machine
docker-machine是解決docker執行環境問題。
docker技術是基於Linux核心的技術實現的,那麼問題來了,如果在非Linux平臺上使用docker技術需要依賴安裝Linux系統的虛擬機器。docker-machine就是docker公司官方提出的,用於在各種平臺上快速建立具有docker服務的虛擬機器的技術。你可以把它理解為virtualbox或者vmware,最開始在win7上用得比較多,但是win10開始自帶了hyper-v虛擬機器,已經不再需要docker-machine了,docker可以直接執行在安裝了Linux系統得hyper-v上。
2、docker-compose
dcoker-compose主要是解決本地docker容器編排問題。
一般是透過yaml配置檔案來使用它,這個yaml檔案裡能記錄多個容器啟動的配置資訊(映象、啟動命令、埠對映等),最後只需要執行對應的命令就會像執行指令碼一樣地批次建立和銷燬容器。
3、docker-swarm
docker-swarm是解決多主機多個容器排程部署得問題。swarm是基於docker平臺實現的叢集技術,他可以通過幾條簡單的指令快速的建立一個docker叢集,接著在叢集的共享網路上部署應用,最終實現分散式的服務。swarm技術相當不成熟,很多配置功能都無法實現,只能說是個半成品,目前更多的是使用Kubernetes來管理叢集和排程容器。總結:
如果你是在非Linux環境下考慮使用docker-compose,當然我更推薦使用hyper-v或者virtualbox。
如果你需要同時操作多個容器,或者希望使用配置檔案記錄容器啟動命令引數,那麼推薦使用docker-compose。
如果你需要在多臺主機上部署docker容器,並對其進行排程,那麼swarm是一種選擇,當然更推薦Kubernetes。
回覆列表
1,Docker是一個開源的應用容器引擎,將應用以及依賴打包到一個可移植的映象中,然後釋出到伺服器上,並且可以實現虛擬化,有助於快捷高效的交付應用。
Docker三個核心概念:
映象Image,應用和依賴打包生成的檔案,類似安裝包。容器Container,映象建立執行應用的示例。倉庫Repository,Docker存放映象檔案的地方。2,資源編排Docker-compose定義和執行多個容器組成的應用系統,透過docker-compose.yml檔案宣告各個服務,作為一個整體來完成應用的建立和啟動。
3,Swarm是Docker官方提供的叢集管理工具,將Docker節點統一管理組織,以服務為排程單元,支援動態擴容等特性,和Kubernetes(k8s)相比,更加輕量。
延伸說下k8s和Swarm,在生產環境中使用k8s較多,但在本地部署測試環境時,一直習慣使用Swarm,輕量方便,而且和Docker是一體的,不需要額外的安裝配置。