容器精华问答 | 我们为什么需要容器?
戳藍字“CSDN云計算”關注我們哦!
容器技術是這兩年熱門的話題,因為容器技術給我們帶來了很多方便的地方,節約了不少成本,不管是在運維還是開發上。今天,就讓我們來看看關于容器更加有深度的問題吧。
1
Q:什么是容器?你為什么需要它們?
A:容器是針對以下問題的解決方案:在切換運行環境后,如何保證軟件能夠可靠地運行?這種切換可能是從程序員的筆記本電腦到測試環境、從某個測試階段部署到線上,也可能是從數據中心的某臺物理機到私有云或者公有云上的某臺虛擬機。
?Q:“容器”如何解決“你在Python2.7下測試,線上卻運行著Python3,奇怪的事情就發生了;或者你依賴具體某個SSL版本的功能,但服務器上卻安裝著另外版本的SSL;你在Debian系統上進行了測試,生產環境卻是Red Hat,那各種各樣的奇怪的事情就會發生。”這些問題?
? ? ? A:簡單地說,一個容器包含了完整的運行時環境:一個應用、這個應用所需的全部依賴、類庫、其他二進制文件、配置文件,它們統一被打入了一個包中。通過將應用平臺和其依賴容器化,操作系統發行版本和其他基礎環境造成的差異,都被抽象掉了。
Q:虛擬機和容器有些類似,那么二者之間有什么區別呢?
? ? ? A:使用虛擬化技術時,可以被分發的文件包是一臺虛擬機,它包含了整個操作系統和應用。一臺運行著三個虛擬機的物理服務器,需要有一個管理虛擬機軟件的中間層,以及運行在這個中間層之上的三個獨立操作系統。
Q:如何修改容器的?/etc/hosts?文件?
A:容器內的?/etc/hosts?文件不應該被隨意修改,如果必須添加主機名和 IP 地址映射關系,應該在?docker run?時使用?--add-host?參數,或者在?docker-compose.yml?中添加?extra_hosts?項。不過在用之前,應該再考慮一下真的需要修改?/etc/hosts?么?如果只是為了容器間互相訪問,應該建立自定義網絡,并使用 Docker 內置的 DNS 服務。
Q:容器是怎樣運作的?二者之間,哪個更有優勢呢?
? ? ? A:相較之下,一臺運行著三個容器應用的服務器,只需要一個操作系統,而每個容器都可以和別的容器共享同一個操作系統內核。操作系統中被容器共享的部分是只讀的,如果需要寫入,每個容器都可以掛載獨立的服務。這也就是說,容器比虛擬機要輕量級很多,它消耗的資源相較于虛擬機也少得多。
小伙伴們沖鴨,后臺留言區等著你!
關于容器,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
如何快速深入理解監控知識? | 技術干貨
為什么說深耕AI領域繞不開知識圖譜?
ARM 發布新一代 CPU 和 GPU,實現 20% 性能提升!
比特幣沖到9000美元, 你就能找個好工作?
1000 萬個“AI 名師”:用機器算法“解剖”應試教育
阿里面試,我掛在了第四輪……
10個爬蟲工程師必備的工具了解一下
真香,朕在看了!
總結
以上是生活随笔為你收集整理的容器精华问答 | 我们为什么需要容器?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Boost:是否支持sse4.1指令的测
- 下一篇: Boost:是否支持sse2指令的测试程