docker集装箱只在networking上

我使用Docker,我有多个Web应用程序,每个需要一个MySQL服务器。 实际上,每个Web应用程序都使用自己的桥接networking与他的MySQL服务器通信,但是每个MySQL服务器使用不同的端口(3306,3307,3308 …)。

我不能在端口3306上运行它们,因为这个已经被第一个MySQL webapp使用了。

是否有可能在3306上运行MySQL服务器?

我拥有的 :

| Net1(桥) | Net2(桥) | Net3(桥) | …. |
| ——————– | ———————- | —– ————— | —– |
| Webapp1:80 | Webapp2:8080 | Webapp3:8081 | … |
| Mysql:3306 | Mysql:3307 | Mysql:3308 | … |

我想要什么:

| Net1(桥) | Net2(桥) | Net3(桥) | …. |
| ——————– | ———————- | —– ————— | —– |
| Webapp1:80 | Webapp2:8080 | Webapp3:8081 | … |
| Mysql:3306 | Mysql:3306 | Mysql:3306 | … |

我如何运行我的容器:

docker network create --driver bridge webapp1net docker run -d -p 3306:3306\ --net=webapp1net \ --net-alias=[webapp1net] \ -h webapp1-mysql \ --name webapp1-mysql mysql docker run -d -p 127.0.0.1:80:80\ --net=webapp1net \ --net-alias=[webapp1net] \ -h webapp1 \ --name webapp1 webapp1 

谢谢

旧post:

有了Docker ,我想知道是否有可能暴露一个容器只在networking上,而不是在主机上

例子:我在networking上有3个服务,使用MySQL,但我不想更改MySQL的端口。

networking1:myapp:80(可由本地主机访问)&MySQL:3306(仅在networking上)

Net 2:myapp:8080(可由本地主机访问)&MySQL:3306(仅在networking上)

等等

是否可以通过在0.0.0.0上运行MySQL来执行某些操作?

谢谢