Docker公司推出的三劍客:Machine、Compose和Swarm豪筝。這三件利器的出現(xiàn)痰滋,讓Docker不僅支持單機(jī)的虛擬化,而且能支持更廣泛的集群平臺壤蚜,提供更強(qiáng)大靈活的功能即寡。本文通過簡短的介紹,讓對docker三劍客有個初步了解袜刷。今后遇到docker相關(guān)問題聪富,知道用什么技術(shù)去解決。
docker-machine:解決docker運(yùn)行環(huán)境問題著蟹。
docker技術(shù)是基于Linux內(nèi)核的cgroup技術(shù)實(shí)現(xiàn)的墩蔓,那么問題來了,如果在非Linux平臺上使用docker技術(shù)需要依賴安裝Linux系統(tǒng)的虛擬機(jī)萧豆。docker-machine就是docker公司官方提出的奸披,用于在各種平臺上快速創(chuàng)建具有docker服務(wù)的虛擬機(jī)的技術(shù)′汤祝可以把它理解為virtualbox或者vmware阵面,最開始在win7上用得比較多,但是win10開始自帶了hyper-v虛擬機(jī),已經(jīng)不再需要docker-machine了样刷,docker可以直接運(yùn)行在安裝了Linux系統(tǒng)得hyper-v上仑扑。
dcoker-compose:解決本地docker容器編排問題腋粥。
一般是通過yaml配置文件來使用它挨摸,這個docker-compose.yml文件里能記錄多個容器啟動的配置信息(鏡像、啟動命令耗绿、端口映射等)箕母,最后只需要執(zhí)行docker-compose對應(yīng)的命令储藐,例如docker-compose up就會像執(zhí)行腳本一樣地批量創(chuàng)建和銷毀容器。
docker-swarm:解決多主機(jī)多個容器調(diào)度部署得問題嘶是。
swarm是基于docker平臺實(shí)現(xiàn)的集群技術(shù)钙勃,他可以通過幾條簡單的指令快速的創(chuàng)建一個docker集群,接著在集群的共享網(wǎng)絡(luò)上部署應(yīng)用俊啼,最終實(shí)現(xiàn)分布式的服務(wù)肺缕。
swarm技術(shù)不是很成熟,很多配置功能都無法實(shí)現(xiàn)授帕,只能說是個半成品同木,目前更多的是使用Kubernetes來管理集群和調(diào)度容器。
總結(jié)
如果你是在非Linux環(huán)境下考慮使用docker-machine跛十,當(dāng)然我更推薦使用hyper-v或者virtualbox彤路。如果你需要同時操作多個容器,或者希望使用配置文件記錄容器啟動命令參數(shù)芥映,那么推薦使用docker-compose洲尊。如果你需要在多臺主機(jī)上部署docker容器,并對其進(jìn)行調(diào)度奈偏,那么swarm是一種選擇坞嘀,當(dāng)然更推薦Kubernetes。