假设我有一个 docker-compose 文件,如下所示:
version: '2'
services:
# The php-fpm container
app:
build:
context: ./
dockerfile: app.dev.dockerfile
working_dir: /var/www
volumes:
- ./:/var/www
expose:
- 8003
# The Web Server
web:
build:
context: ./
dockerfile: web.dockerfile
working_dir: /var/www
volumes_from:
- app
links:
- app:app
ports:
- 80:80
- 8004:8003
所以我喜欢从 Web 容器中的 8004 端口为 App 容器上的 8003 端口提供服务。但我无法得到结果。所以我的猜测是 Web 容器上 8004:8003 的 Web 端口映射仅限于 Web 容器。还是它实际上映射到 App 容器上暴露的 8003 端口?
如果是这样,我如何测试 Web 端口 8004 实际上映射到 App 容器上的端口 8003?
有没有办法让我创建一个单向绑定(甚至更好的双向绑定)或将 App 容器上的端口 8003 映射到 Web 容器上的端口 8004?
如果我的主机正在运行一些 App 和 docker 服务(包括这两个容器),并且 App 正在尝试侦听 Web 容器中的端口 8004,他实际上是在与 App 容器通信。