我已经在我的主机 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 中运行它时,我如何从主机 MAC 测试 drupal 前端,即在主机浏览器中点击哪个 IP 以获得所需的结果。
PS:这里没有关于drupal的具体内容(它可以是任何其他容器,如Nginx等),问题是关于从主机操作系统访问正在运行的容器(在VM内部)