全站資源開放下載,感謝廣大網友的支持
鏈接失效請移步職業司平臺
非盈利平臺

非盈利平臺

只為分享一些優質內容

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

微信小程序

微信小程序

更方便的閱讀

職業司微信公眾號

職業司微信公眾號

實時動態通知

安卓APP

安卓APP

我們從此不分開

程序員生活志-公眾號

程序員生活志-公眾號

程序員生活學習圈,互聯網八卦黑料

支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區

果然!這10個Docker容器坑多數人都中招過

5
發表時間:2020-07-14 10:02

毋庸置疑,容器已經成為企業IT基礎設施中必不可少的部分,它具有許多的優點,比如:

  • 第一:容器是不可變的——操作系統,庫版本,配置,文件夾和應用程序都包裝在容器內。你保證在質量檢查中測試過的同一鏡像將以相同的行為到達生產環境。

  • 第二:容器很輕——容器的內存占用量很小。容器將只為主要進程分配內存,而不是數百或數千MB。

  • 第三:容器非常快——可以像啟動典型Linux進程一樣快地啟動容器。你可以在幾秒鐘內啟動一個新容器,而不是幾分鐘。

但是,許多用戶仍然像對待典型虛擬機一樣對待容器,而忘記了容器具有重要的特征:即容器是一次性的。

這種特征迫使用戶改變他們對如何處理和管理容器的看法。那么該如何保持容器的最佳效益呢?以下將介紹Docker容器中應避免的10件事。



1、不要將數據存儲在容器中

因為你可以停止,銷毀或更換容器。在容器中運行的應用程序版本1.0應該容易地由版本1.1替換,而不會造成任何影響或數據丟失。因此,如果需要存儲數據,請批量存儲。在這種情況下,還應該注意兩個容器是否在同一卷上寫入數據,因為這可能會導致損壞。確保你的應用程序是為了寫入共享數據存儲。

2、不要將應用程序分為兩部分進行交付

有些人看到像虛擬機這樣的容器,大多數人傾向于認為他們應該將應用程序部署到現有的運行容器中。在開發階段,你需要不斷進行部署和調試,這是正確的。但對于一個連續傳遞(CD)管道QA和Production,你的應用程序應該是鏡像的一部分。

3、不要創建大鏡像

因為大鏡像將很難分發。確保僅具有運行應用程序/進程所需的文件和庫。不要安裝不必要的軟件包或運行將許多文件下載到新鏡像層的“更新” 。

4、不要使用單層鏡像

為了有效利用分層文件系統,請始終為操作系統創建自己的基礎鏡像層,為用戶名定義創建另一層,為運行時安裝創建另一層,為配置創建另一層,最后是應用程序的另一層。重新創建,管理和分發鏡像將更加容易。

5、不要從正在運行的容器中創建鏡像

換句話說,不要使用“ docker commit”來創建鏡像。這種創建鏡像的方法不可復制,應完全避免。始終使用完全可復制的Dockerfile或任何其他S2I(從源到鏡像)方法,如果將Dockerfile存儲在源代碼控制存儲庫(git)中,則可以跟蹤對Dockerfile的更改。

6、不要只使用“最新”標簽

對于Maven用戶,最新標簽就像“ SNAPSHOT”一樣。由于容器的分層文件系統性質,因此鼓勵使用標簽。幾個月后生成鏡像并發現你的應用程序無法運行是因為父層(Dockerfile中的FROM)被不兼容向后的新版本或錯誤的新版本所取代,你不會感到驚訝從構建緩存中檢索了“最新”版本。在生產環境中部署容器時,也應避免使用“最新”標簽,因為你無法跟蹤正在運行哪個版本的鏡像。

7、不要在單個容器中運行多個進程

容器非常適合運行單個進程(http守護程序,應用程序服務器,數據庫),但是如果有多個進程,則管理起來可能會遇到更多麻煩,檢索日志,并分別更新流程。

8、不要將憑據存儲在鏡像中

使用環境變量,你不想對鏡像中的任何用戶名/密碼進行硬編碼。使用環境變量從容器外部檢索該信息。這個原理的一個很好的例子是Postgres鏡像。

9、不要以root用戶身份運行進程

“默認情況下,docker容器以root用戶身份運行。隨著docker的成熟,可能會提供更多安全的默認選項。目前,要求root用戶對其他人是危險的,可能并非在所有環境中都可用。你的鏡像應使用USER指令為運行容器指定一個非root用戶。

10、不要依賴IP地址

每個容器都有自己的內部IP地址,如果你啟動和停止容器,它可能會更改。如果應用程序或微服務需要與另一個容器通信,請使用環境變量將正確的主機名和端口從一個容器傳遞到另一個容器。

所以,在Docker容器的應用中,這個10個壞習慣要不得,注意!注意!再注意!

免費學習視頻歡迎關注云圖智聯:


Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
業司
教育資訊
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部