0

我使用 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

谢谢

4

0 回答 0