我使用 Docker,并且我有多个 webapps,每个 webapps 都需要一个 MySQL 服务器。实际上,每个 webapp 都使用自己的桥接网络与他的 MySQL 服务器进行通信,但每个 MySQL 服务器使用不同的端口(3306、3307、3308 ...)。
我不能在端口 3306 上运行它们,因为第一个 MySQL webapp 已经使用了这个。
是否可以在 3306 上的 MySQL 服务器上执行所有操作?
我有的 :
| Net1(桥) | Net2(桥) | Net3(桥) | .... |
|--------------------|----------|------ ---------------|-----|
| 网络应用程序1:80 | Webapp2:8080 | Webapp3:8081 | ... |
| mysql:3306 | mysql:3307 | mysql:3308 | ... |
我想要什么:
| Net1(桥) | Net2(桥) | Net3(桥) | .... |
|--------------------|----------|------ ---------------|-----|
| 网络应用程序1: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 (本地主机可访问) & MySQL:3306 (仅在网络上)
Net 2 : myapp:8080 (本地主机可访问) & MySQL:3306 (仅在网络上)
等等
是否可以通过在 上运行 MySQL 来做某事
0.0.0.0
?谢谢