想使用Docker容器?先看看這些注意事項


      Docker容器無疑是最近十年來最引人注目的技術之一,因為有了它,對我們思考設計、開發和運維軟件的方式產生了非常有益的影響。

      但是就像每一個開發工具一樣,為了充分利用這些工具,需要注意一些使用中問題,Docker容器也是如此。下面是您需要關注的一些地方:

一個進程,一個Docker容器

     每個Docker容器的核心都是一個進程,盡管每個Docker容器可以使用多個進程,但是這種方法不值得推薦。為了提高效率,每個容器應該只有一個特定的目標進程。其中一個非常重要的原因是如果只使用一個進程的話想在其他項目中遷移使用該Docker將變得容易很多。

    盡管在容器中運行多個進程在技術上是可行的,但是單進程體系結構具有顯著的優勢,具體說來:

  • 易擴展

      如果容器被隔離到一個單一的功能,水平調整容器會容易得多。 假設您需要另一個Tomcat容器,在其他地方遷移一個即可。但是,如果你的Tomcat容器也運行你的數據庫服務,並且其它的數據也需要被遷移走,那么這就變得非常復雜。

  • 更好的復用行

       如果一個容器只有一個功能,容器可以容易地重新用於其他項目。

  • 易問題定位

       開發人員能夠在本地環境下解決那些在生產中的單個組件出現的問題,而不是從整個應用程序環境中定位問題來解決。  


 使用磁盤進行數據存儲

         在容器內部保存數據幾乎沒有什么用處,因為容器不斷地被停止和銷毀。無論什么時候需要存儲數據,都要在磁盤上進行,因為磁盤可以在多個容器之間更安全地共享。磁盤是將數據存儲在容器的可寫層中的更好選擇,因為使用磁盤不會增加容器的大小,並且磁盤的數據存在於給定容器的生命周期之外。


 容器通信

        每當一個Docker容器需要與另一個容器通信時,傳遞信息最好使用名稱或環境變量。Docker容器當然也有IP地址,但是無論何時啟動和停止容器,都是不會依賴IP地址的。


 以普通用戶身份運行Docker

        默認情況下,Docker容器以root用戶身份運行,眾所周知,以root用戶運行的容器完全可以控制主機系統。如果黑客訪問容器內的“root”用戶,他將獲得對運行Docker的主機的root權限,為了避免這種情況,請始終以普通用戶身份運行Docker容器。


 注意容器的體積

        選擇一個容器的主要原因之一是它的體積小。但是,如果你把它做得更大,它的主要優勢就沒了。當您在群集中部署數千個容器時,如果需要容器相互通信並定期更新容器,這是一個非常嚴重的問題。

        所以需要確保只有所需的文件和庫來運行對應的應用程序/進程。不要安裝不必要的軟件包或運行yum update等命令,將不需要的文件下載到新的映像層。

        打個比方:一個冰箱中是無法裝下一個大型集裝箱的。


 制定監測策略

        開發和部署Docker容器不是你的工作的結束。您需要持續監控已部署的容器以及整個系統的運行狀況。選擇合適的工具並制定一個策略來有效地監控您的Docker容器,以確保最短的停機時間,從而使客戶滿意。


 Docker容器的安全問題

       只要Docker容器在本地開發環境中運行,就沒有安全問題。因為測試環境是與外部連接隔離的,是無法確定在外部是否完全的。當您的Docker鏡像部署在生產環境中時,因為需要處理外部網絡訪問,安全性自然成為一個問題。為了預防這個問題,首先需要確保Docker容器所在的主機被修補了最新的安全更新,其次Docker容器中也更新了安全補丁。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM