回答
請允許我套用你的問題有點。如果我誤解了任何內容,請糾正我。
問:我可以使用Docker
技術運行多個MySQL數據庫實例嗎?
答:簡短的回答:是因爲docker container
只是你的機器上的process
。
問:如果我有在同一臺主機上運行MySQL數據庫的多實例,它是如何知道我在我的query
上執行哪個實例?
答:那麼這一切都取決於你的數據庫客戶端設置的connection string
。
每個數據庫實例都會有一個對應的listener
進程綁定到主機的特定port
。現在
,每個端口只能結合的方法。這是一對一的關係。
從本質上講,如果你已經安裝了10個SQL實例,他們將結合各自的獨特的端口。因此,您在connection string
中定義的端口號決定了您要與之通話的數據庫實例。
東西值得一提的是,碼頭工人containers
是自包含的。你可以將它們看作傳統的virtual machine
,只是它們重量更輕。也就是說,一個容器將擁有自己的網絡基礎設施,類似於您的物理主機。因此,如果您的物理主機能夠看到集裝箱式數據庫,則必須使用綁定端口port-forward
。
如果上面的段落對你沒有任何意義,那麼我會建議你展示docker的ports
或-p
選項。
參見:https://docs.docker.com/engine/userguide/networking/default_network/binding/
感謝@Samuel Toh的迴應。假設有mysql的承載同一個數據庫體系結構(表和關係)和代理的3個容器,然後我的應用程序將與代理溝通,這個代理請求重定向到根據每個資源的可用性,這3個實例之一容器,假設我有一個「從特定表中選擇請求」代理將如何交互, –
- 1. 數據庫中泊塢窗應用
- 2. 泊塢窗 - 編輯「泊塢窗」文件
- 3. 泊塢窗:失敗與MySQL數據庫連接
- 4. 泊塢窗MySQL錯誤1049(42000):未知的數據庫「用戶」
- 5. 從泊塢窗
- 6. 泊塢窗:頭
- 7. 內泊塢窗
- 8. 在泊塢窗
- 9. 在泊塢窗
- 10. 泊塢窗
- 11. 如何運行泊塢窗,構成對泊塢窗羣(不含泊塢窗機)
- 12. 泊塢窗機VS泊塢運行
- 13. 建立一個Ubuntu泊塢窗圖像
- 14. 泊塢窗網絡
- 15. 泊塢窗 - PG :: ConnectionBad
- 16. 泊塢窗更新
- 17. 泊塢窗容器
- 18. 泊塢窗:在Ubuntu
- 19. 泊塢窗:在Dockerfile
- 20. 泊塢窗,mongorestore - 錯誤:根目錄必須是一個單一的數據庫
- 21. 泊塢窗,撰寫mysql連接問題
- 22. 泊塢窗mysql主機沒有特權
- 23. 泊塢窗傳遞參數泊塢入口點與entrypoint.sh
- 24. 仿效`泊塢窗run`使用golang泊塢窗API
- 25. 泊塢窗 - 通過argumens與泊塢窗以服務構成了
- 26. 「泊塢窗,撰寫」命令來設置泊塢窗,compose.yml文件
- 27. 泊塢窗命令失敗Cygwin中 - 泊塢窗服務達
- 28. 泊塢窗:改變文件夾中存儲泊塢窗卷
- 29. 更新泊塢窗,泊塢窗機,碼頭工人撰寫
- 30. 不能推泊塢窗圖像泊塢窗私有註冊
很抱歉,但你需要使用正確的話的東西,並把它們放在一起的方式,讓你的問題清楚。 Docker有容器。一個容器可以運行一個mysql數據庫。你可以有一個運行1000個mysql容器的羣。這與運行1000個mysql服務器沒有區別。如果你這樣做了,會爲你的應用程序創造什麼問題? Docker不會改變多個mysql服務器產生的問題。 – gview