![](/img/trans.png)
[英]How to migrate laravel app from inside docker container to a mysql database outside the container?
[英]Docker - Should my MySQL database live inside or outside the container?
我正在docker上設置我的第一台生產服務器,但不確定我的MSQL數據庫應該存放在哪里。 數據庫應該位於容器外部還是內部? 我之前已經閱讀過一些文章/帖子,認為它應該放在外面,所以如果您必須啟動一個新的容器或圖像,則什么都不會改變,但是我不確定這是否正確。 將其放在容器內部或外部是否存在速度/性能差異?
性能方面:默認情況下,Docker容器使用虛擬網絡接口,請參閱Docker Advanced網絡文檔 。 這只是輕微的速度開銷。 不過,根據您的預期負載,您可能想要將數據庫容器綁定到主機網絡,或者根本不對數據庫進行docker化。
關於數據持久性:如果使用卷或卷容器,則數據將位於容器外部,並且也可以由任何新容器裝入。 這里不用擔心。
關於是否為數據庫使用容器(我認為):當前流行將無狀態和可互換應用程序容器化,這意味着您可以簡單地丟棄過時的服務並用新的容器替換它們。 盡管這對於經常更新的微服務確實有意義……對於諸如數據庫這樣的壽命較長的服務,您真的需要嗎? 是的,Docker仍然可以幫助包含依賴項並更快地發貨,但是還有其他替代方案,例如Ansible提供的VM。 最后,這取決於您的用例最簡單的方法。
這些是我們的數據庫管理員的職責:
如果我需要這些服務中的任何一項,我會在容器外部使用一個由專家托管的數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.