我使用Docker,我有多个webapps,每个都需要MySQL服务器。实际上每个webapp都使用他自己的桥接网络与他的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
由于
旧帖子:
使用 Docker ,我想知道是否可以 公开 一个容器 在网络上,而不在主机上 。
实施例: 我在网络上有3个服务并使用MySQL,但我不想改变MySQL的端口。
Net 1:myapp:80(可由localhost访问)& MySQL:3306(仅限网络)
Net 2:myapp:8080(可由本地主机访问)& MySQL:3306(仅限网络)
等
是否可以通过在
0.0.0.0
上运行MySQL来执行某些操作?由于