將 docker 推送到生產環境

將 docker 推送到生產環境

我在開發環境中使用 docker-compose 和一個docker-compose.yml文件,其中列出了我需要的所有容器。

此外,我還有一個集中式 git 儲存庫、Jenkins 伺服器和另一台伺服器,我將在其中保留暫存和生產。

那麼問題是如何更好地組織部署過程。

現在,git push在 git 伺服器端觸發 Jenkins 建置作業。根據分支名稱(暫存或生產),將觸發不同的作業。

建置作業使用 docker-compose 來啟動整個環境並執行測試。那麼如何將新容器推送到暫存/生產環境呢?

一種方法是將它們推送到私人或公共 Docker 註冊表,但是在生產中更新容器的最佳實踐是什麼? Jenkins 伺服器是否應該只使用 ssh 並執行 raw 、killrm指令?我沒有看到周圍的例子。pullrun

答案1

Kubernetes、Docker Swarm 或 Rancher 可能是實現滾動更新的最佳方式。

基本上,滾動更新將採用一組容器(稱為服務)並逐一更新它們。因此,假設您有三個容器運行您的應用程序,滾動更新將關閉第一個容器並更新它,依此類推,直到服務完全更新。這意味著您可以有效地獲得應用程式的零停機時間,因為這些產品中的負載平衡器是智慧的,不會重新導向到更新容器。

此連結為您提供了 Swarm 運行服務然後更新它的基本實作。

群滾動更新

對於一些最簡單的設定和實施 - 根據我的經驗,Rancher 是掌握所有這些概念的一個很好的起點。它基本上是 Kubernetes 等不同 Docker 技術之上的介面。

牧場主人網站

相關內容