2016-09-19 312 views
0

我在Docker上建立了我的第一臺生產服務器,但我不確定我的MSQL數據庫應該在哪裏存活。數據庫應該存在於容器之外嗎?我之前讀過一些文章/帖子,它應該活在外面,所以如果你必須啓動一個新的容器或圖像,沒有任何變化,但我不確定這是否正確。在容器內部或外部有速度/性能差異嗎?Docker - 我的MySQL數據庫應該在容器的內部還是外部?

回答

1

性能:默認情況下,Docker容器使用虛擬網絡接口,請參閱Docker Advanced networking documentation。這只是輕微的速度開銷。儘管如此,根據您的預期負載,您可能希望將數據庫容器綁定到主機網絡,或者根本不需要dockerize您的數據庫。

關於數據持久性:如果您使用的是volumes or volume containers,則您的數據位於容器外部,也可以由任何新的容器裝載。這裏不用擔心。

是否使用容器的DB(我認爲):這是目前成爲時尚,以containerize無國籍和互換應用程序,這意味着你可以簡單地扔掉過時的服務和新的容器更換。雖然這對於頻繁更新的微服務來說真的很有意義......你是否真的需要這樣的服務來進行比較長時間的數據庫服務?是的,Docker仍然有助於更快地包含依賴關係和發佈內容,但還有其他選擇,比如Ansible預配置的虛擬機。最後,它取決於你的用例最簡單的方法。

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

    • 建立並保持着良好的備份和恢復的政策和程序
    • 實施和維護數據庫的安全性(創建和維護用戶和角色,分配權限)
    • 執行數據庫調整和性能監視
    • 執行應用程序調整和性能監視
    • 安裝和維護文件和標準
    • 計劃的發展和變化(容量規劃)

如果我需要這些服務,我使用一個數據庫容器之外,由專家主持的。

  1. 如果數據需要被其他應用程序訪問,我在容器外部的中央數據庫服務器上使用數據庫並由專家託管。
相關問題