用外部服务替换Docker容器

用外部服务替换Docker容器,docker,dockerfile,Docker,Dockerfile,我刚刚开始学习Docker,昨天我阅读了大量文档和教程,但我找不到在哪里读到关于使用链接容器替换外部服务的内容,我甚至不确定要搜索哪个术语 假设有一个apache容器和一个mysql容器,其中运行的apache带有指向mysql的链接,并且可以访问其端口等。现在,我们不再在容器实例上运行MySQL,而是将其移动到AWS RDS,例如。如何修改mysql容器,使apache继续按预期运行?为了澄清这一点,apache仍将运行一个指向别名为mysql的容器的链接,但mysql容器将负责将该端口上的流

我刚刚开始学习Docker,昨天我阅读了大量文档和教程,但我找不到在哪里读到关于使用链接容器替换外部服务的内容,我甚至不确定要搜索哪个术语

假设有一个
apache
容器和一个
mysql
容器,其中运行的
apache
带有指向
mysql
的链接,并且可以访问其端口等。现在,我们不再在容器实例上运行MySQL,而是将其移动到AWS RDS,例如。如何修改
mysql
容器,使
apache
继续按预期运行?为了澄清这一点,
apache
仍将运行一个指向别名为
mysql
的容器的链接,但
mysql
容器将负责将该端口上的流量发送到AWS


或者,可能有一个容器运行MySQL服务,但该容器位于另一台主机上。我有一种模糊的感觉,我所指的模式也能处理这种情况。这听起来有人熟悉吗?

如果容器在另一台主机上,为什么不直接点击主机,让docker透明地使用3386(或运行mysql的任何端口)将请求转发到容器?我想不出你为什么要链接容器,除非它们实际上在同一台主机上。Docker非常擅长透明,因此客户端可以从另一台机器上运行Docker中的服务,就像该服务直接在没有Docker的机器上运行一样


如果您真的必须在同一台机器上安装两个容器(即使mysql容器正在调用RDS或其他主机),您应该能够创建一个新的简单mysql映像,该映像只安装了mysql\u客户端,只接收请求并将其转发给RDS。

您看到了吗?大使模式,是的,这就是我要找的