回答
请允许我套用你的问题有点。如果我误解了任何内容,请纠正我。
问:我可以使用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