亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通俗解釋Docker是什么?

如何通俗解釋Docker是什么?

不負相思意 2021-02-01 11:07:44
如何通俗解釋Docker是什么
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規整的擺放起來。并且各種各樣的貨物被集裝箱標準化了,集裝箱和
集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運
走。

docker就是類似的理念?,F在都流行云計算了,云計算就好比大貨輪。docker就是集裝箱。
1.不同的應
用程序可能會有不同的應用環境,比如.net開發的網站和php開發的網站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務器上就要調試很久,
而且很麻煩,還會造成一些沖突。比如IIS和Apache訪問端口沖突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來講,我們可以在
服務器上創建不同的虛擬機在不同的虛擬機上放置不同的應用,但是虛擬機開銷比較高。docker可以實現虛擬機隔離應用環境的功能,并且開銷比虛擬機小,
小就意味著省錢了。
2.你開發軟件的時候用的是Ubuntu,但是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境
的時候就會遇到一些Ubuntu轉centos的問題,比如:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程當中運維就
得想辦法解決這樣的問題。這時候要是有docker你就可以把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就可以了。而且部署速度快。
3.在服務器負載方面,如果你單獨開一個虛擬機,那么虛擬機會占用空閑內存的,docker部署的話,這些內存就會利用起來。
總之docker就是集裝箱原理。


 


查看完整回答
反對 回復 2021-03-28
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

官網的介紹是這樣的:
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications....
其實看完這句話還是不明白究竟是啥的,下面就慢慢解釋。不過長話短說的話,把他想象成一個用了一種新穎方式實現的超輕量虛擬機,在大概效果上也是正確的。當然在實現的原理和應用上還是和VM有巨大差別的,并且專業的叫法是應用容器(Application Container)。
為啥要用容器?
那么應用容器長什么樣子呢,一個做好的應用容器長得就好像一個裝好了一組特定應用的虛擬機一樣。比如我現在想用MySQL那我就找個裝好MySQL的容器,運行起來,那么我就可以使用 MySQL了。
那么我直接裝個 MySQL不就好了,何必還需要這個容器這么詭異的概念?話是這么說,可是你要真裝MySQL的話可能要再裝一堆依賴庫,根據你的操作系統平臺和版本進行設置,有時候還要從源代碼編譯報出一堆莫名其妙的錯誤,可不是這么好裝。而且萬一你機器掛了,所有的東西都要重新來,可能還要把配置在重新弄一遍。但是有了容器,你就相當于有了一個可以運行起來的虛擬機,只要你能運行容器,MySQL的配置就全省了。而且一旦你想換臺機器,直接把這個容器端起來,再放到另一個機器就好了。硬件,操作系統,運行環境什么的都不需要考慮了。
在公司中的一個很大的用途就是可以保證線下的開發環境、測試環境和線上的生產環境一致。當年在 Baidu 經常碰到這樣的事情,開發把東西做好了給測試去測,一般會給一坨代碼和一個介紹上線步驟的上線單。結果代碼在測試機跑不起來,開發就跑來跑去看問題,一會兒啊這個配置文件忘了提交了,一會兒啊這個上線命令寫錯了。找到了一個 bug 提上去,開發一看,啊我怎么又忘了把這個命令寫在上線單上了。類似的事情在上線的時候還會發生,變成啊你這個軟件的版本和我機器上的不一樣……在 Amazon 的時候,由于一個開發直接擔任上述三個職位,而且有一套自動化部署的機制所以問題會少一點,但是上線的時候大家還是膽戰心驚。
若果利用容器的話,那么開發直接在容器里開發,提測的時候把整個容器給測試,測好了把改動改在容器里再上線就好了。通過容器,整個開發、測試和生產環境可以保持高度的一致。
此外容器也和VM一樣具有著一定的隔離性,各個容器之間的數據和內存空間相互隔離,可以保證一定的安全性。



查看完整回答
反對 回復 2021-03-28
  • 2 回答
  • 0 關注
  • 579 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號