【发布时间】:2022-02-25 04:17:57
【问题描述】:
我已经通过multipass 在我的主机 Mac OSX 上设置了 3 个 Linux VM。我已经在这些机器上安装了 docker 并启动了一个 3 节点的 docker swarm。
docker swarm init
之后,我使用以下命令创建了 2 个服务,一个用于 Postgres DB,另一个用于 drupal。
docker service create -d --name postgras-db --network test-swarm-network -e POSTGRES_PASSWORD=<password> postgres
docker service create -d --name drupal-frontend --network test-swarm-network -p 80:80 drupal
端口 80:80 为 drupal 公开,这两个服务都连接到同一个覆盖网络。我的服务已启动并正在运行。
如果我在主机上执行所有操作,那么我只需执行 http://localhost:80 或 http://localhost 即可获得所需的输出,但现在在 VM 中运行它时,我如何测试 drupal 前端主机 MAC,即在主机浏览器中点击哪个 IP 以获得所需的结果。
P.S:这里没有关于 drupal 的具体内容(它可以是任何其他容器,如 Nginx 等),问题是关于从主机操作系统访问正在运行的容器(在 VM 内)
【问题讨论】:
标签: linux docker virtual-machine docker-swarm multipass