本篇文章是個經驗分享文,作者分享使用 Docker 作為開發環境時值得注意的 Best practices,透過這些經驗分享希望能夠讓開發者少走一些冤枉路。
原文提出了 15 個經驗談,這邊幫大家節錄幾個,有興趣的可以點選原文瞭解更多!
1. One thing at a time
2. Be ephemeral
3. Utilize .dockerignore
4. Less is more
5. Secrets should be secret
6. PID 1 is your birth right
7. Share and Care
8. Vulnerability Scan
9. Tag like you mean it
10. Permissions are costly
11. Source of Truth
12. Always official
13. Don’t include debug
14. Use entry point script smartly
15. Size does matter
One thing at a time
建置 Image 的時候專注做好一件事情,每個 Image 應該有一個專心要解決的問題,譬如一個應用程式,一個小工具等。對於 Nginx 這類型的 Image 來說,應該沒有人會期望於裡面看到有 Apache 的應用程式吧?
Be ephemeral
這個主要探討的是該 Image 本身建置時應該要以 stateless 的概念去處理,未來不論是透過 docker 或是 Kubernetes 來管理部署時,Contaienr 都很有機會被重啟,每次的重啟都意味該容器是重新啟動。所以千萬不要讓你的 Image 變成多次重啟會導致應用程式出問題的形式,任何的這類型資料應該都要透過外部取得,不要塞到你的 Image 內
Utilize .dockerignore
善用 .dockerignore 這個檔案來將不必要的檔案從 build 過程給排除,使用方法與 .gitignore 類似。透過這個檔案的設定可以避免 docker build 的時候不會把一些過大或是完全不需要的檔案都送給 docker daemon,不當浪費時間也浪費空間。
Less is more
避免安裝任何無關或是非必要的套件到你的 image 中,特別是那些 "nice to have" 的理由。
註: 我個人是滿討厭把 Image 弄得很乾淨的,除錯什麼工具都沒有,連 ash/sh/busybox/bash 都沒有的 image 更是我討厭中的排行榜冠軍
Secrets should be secret
任何機密資訊都應該要於運行期間動態載入,而不是建置期間塞入。請使用其他工具譬如 Vault 來管理這些機密資訊,並且執行期間讓 Container 能夠存取到正確的值。
PID 1 is your birth right
Linux 環境下會使用 SIGTERN, SIGKILL 等相關的 Singal 來戳你的應用程式,請確保你運行的應用程式要能夠攔截這些訊號來處理並完成有效的 Graceful shutdown.
Share and Care
如果環境中有多個 Image 彼此有共享相同的工具與功能,與其每個 Image 都單獨建置維護不如建置一個 Base Image,接者讓所有要使用的 image 去載入使用即可。
透過這種方式可以讓整體的維護性與管理性更為簡單,每個 image 可以減少重複的程式碼,同時要升級時只要針對 base Image 處理即可。
https://medium.com/pradpoddar/avoid-costly-mistakes-using-advanced-docker-development-best-practices-acd812784109
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「docker nginx 設定」的推薦目錄:
- 關於docker nginx 設定 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於docker nginx 設定 在 軟體開發學習資訊分享 Facebook 的精選貼文
- 關於docker nginx 設定 在 企業號航行網誌 Facebook 的精選貼文
- 關於docker nginx 設定 在 コバにゃんチャンネル Youtube 的最佳貼文
- 關於docker nginx 設定 在 大象中醫 Youtube 的精選貼文
- 關於docker nginx 設定 在 大象中醫 Youtube 的最佳貼文
- 關於docker nginx 設定 在 DevOps:如何將容器化(Docker + Nginx + uWSGI + Django + ... 的評價
- 關於docker nginx 設定 在 twtrubiks/docker-django-nginx-uwsgi-postgres-tutorial - GitHub 的評價
- 關於docker nginx 設定 在 Flask 實作Dockerfile + nginx + ssl 教學(附GitHub完整程式) 的評價
- 關於docker nginx 設定 在 [Docker] Command Line, CLI | PJCHENder 未整理筆記 的評價
- 關於docker nginx 設定 在 Nginx (Engine X) | Tienyu Note 的評價
- 關於docker nginx 設定 在 黑暗執行緒- Docker 筆記第三篇 - Facebook 的評價
docker nginx 設定 在 軟體開發學習資訊分享 Facebook 的精選貼文
今天的開源報報
今日內容摘要
✅ 一步一步理解 Docker ,初學者的學習指南
✅ 使用 Go 實現一個 Docker :透過艱苦的方式學習容器以及運作的原理
✅ 如何學習程式設計的 OKRs 目標管理
✅ 用於在 QEMU 中設定簡單 macOS VM 的文件說明
✅ 在歷史版本的瀏覽器瀏覽現代的網頁的瀏覽器服務
✅ 自動揭露專案程式庫可用程式碼片段的 VS Code 外掛
✅ 簡單,隱私權友善可取代 Google Analytics
✅ 專門為 vue 打造的開發利器,其目的是使 vue 專案的開發更加簡單和快速
✅ 支援 React/Vue 的開源網頁心智地圖核心
✅ 使用 MERN 堆疊仿製一個 Instagram
✅ 在 NodeJS / Go 中使用 p2p 網路快速建構微服務
✅ 一個視覺化 React 應用程式的結構和狀態流的元件
✅ 使用 Julia 程式語言做 Deepmind 的 AlphaZero 演算法的通用、簡單、快速實現
✅ 互動式機器學習實驗,模型訓練和模型展示
✅ 允許你不需要使用命令列工具修改 nginx 配置檔案的 Nginx 使用者介面工具
✅ Android 滲透測試學習材料與資源
✅ 一個 iOS 的剪貼簿管理器,可以在後台無限期地監控你的剪貼簿—- 不需要越獄
✅ 一個交通模擬遊戲,探索道路的微小變化是如何影響騎腳踏車者、交通使用者、行人和司機的行為
https://softnshare.com/opensource-news-153/
docker nginx 設定 在 企業號航行網誌 Facebook 的精選貼文
又係寫埋啲無人睇,要格硬斬開 n 個 page 嚟呃 PV 嘅文
上次寫完利用 VPS 來 #科學上網 後,很多人都表示希望可以用家中 router 來翻,不用每月付伺服器的費用。所以今次就利用 ASUS #華碩 #router #ac87u 來示範如何利用 #v2ray 設定 #翻牆 。
其實基本版設定無難度,但如果想進階使用 TLS 偽裝步驟會多一點,但難度其實不高。
如果家中有 NAS 的話,如 Qnap Hk 的新 NAS,都有 docker 功能,用來設定 V2ray 很方便,甚至可以使用 NGINX + TLS 來實現完美翻牆
docker nginx 設定 在 コバにゃんチャンネル Youtube 的最佳貼文
docker nginx 設定 在 大象中醫 Youtube 的精選貼文
docker nginx 設定 在 大象中醫 Youtube 的最佳貼文
docker nginx 設定 在 twtrubiks/docker-django-nginx-uwsgi-postgres-tutorial - GitHub 的推薦與評價
Nginx 可以設定反向代理器; Nginx 可以進行多台機器的負載平衡( Load balance ). 溫馨小提醒❤️. 如果你想更進一步的了解反向 ... ... <看更多>
docker nginx 設定 在 Flask 實作Dockerfile + nginx + ssl 教學(附GitHub完整程式) 的推薦與評價
Step 0 – 準備ssl 憑證 · Step 1 – 準備Dockerfile 和nginx.conf · Step 2 – 運行docker. ... <看更多>
docker nginx 設定 在 DevOps:如何將容器化(Docker + Nginx + uWSGI + Django + ... 的推薦與評價
1. Containerizing the simple Django project using DockerfilePermalink. 同樣的,本文不對 Django 做太多說明,詳細的教學與設定可以參考官方文件Get ... ... <看更多>