簡體   English   中英

Docker-我的MySQL數據庫應該位於容器內部還是外部?

[英]Docker - Should my MySQL database live inside or outside the container?

我正在docker上設置我的第一台生產服務器,但不確定我的MSQL數據庫應該存放在哪里。 數據庫應該位於容器外部還是內部? 我之前已經閱讀過一些文章/帖子,認為它應該放在外面,所以如果您必須啟動一個新的容器或圖像,則什么都不會改變,但是我不確定這是否正確。 將其放在容器內部或外部是否存在速度/性能差異?

性能方面:默認情況下,Docker容器使用虛擬網絡接口,請參閱Docker Advanced網絡文檔 這只是輕微的速度開銷。 不過,根據您的預期負載,您可能想要將數據庫容器綁定到主機網絡,或者根本不對數據庫進行docker化。

關於數據持久性:如果使用卷或卷容器,則數據將位於容器外部,並且也可以由任何新容器裝入。 這里不用擔心。

關於是否為數據庫使用容器(我認為):當前流行將無狀態和可互換應用程序容器化,這意味着您可以簡單地丟棄過時的服務並用新的容器替換它們。 盡管這對於經常更新的微服務確實有意義……對於諸如數據庫這樣的壽命較長的服務,您真的需要嗎? 是的,Docker仍然可以幫助包含依賴項並更快地發貨,但是還有其他替代方案,例如Ansible提供的VM。 最后,這取決於您的用例最簡單的方法。

  1. 這些是我們的數據庫管理員的職責:

    • 建立並維護完善的備份和恢復策略及過程
    • 實施和維護數據庫安全性(創建和維護用戶和角色,分配特權)
    • 執行數據庫調整和性能監控
    • 執行應用程序調整和性能監控
    • 設置並維護文檔和標准
    • 計划增長和變更(容量計划)

如果我需要這些服務中的任何一項,我會在容器外部使用一個由專家托管的數據庫。

  1. 如果需要其他應用程序訪問數據,則可以使用容器外部的集中式數據庫服務器上的數據庫,該數據庫由專家托管。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM