我有一个简单的Web应用程序,该应用程序使用HTML
和PHP
通过HTML
表单捕获信息。它获取此信息,并使用HTML-POST
将其作为应用程序XML
发送到服务,该服务也在端口8400的本地主机上运行。我让该应用程序在LAMP
上的macOS
堆栈中运行,并且运行良好。 XML
可以正常使用服务。
当我使用LAMP
将此应用程序移到容器化的Docker
堆栈中时,该应用程序运行,但是当我的PHP
尝试将其发布到端口8400上运行的其他服务时,无法到达那里。
我确信这是Docker
网络的问题,但是我不确定是什么问题。这是我的docker-compose.yml
文件:
version: "1.0"
services:
php:
build: "./php/"
networks:
- backend
- frontend
volumes:
- ./public_html/:/var/www/html/
apache:
build: "./apache/"
depends_on:
- php
- mysql
networks:
- frontend
- backend
ports:
- "8080:80"
volumes:
- ./public_html/:/var/www/html/
mysql:
image: mysql:5.6.40
networks:
- backend
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
networks:
frontend:
backend:
我认为答案可能在于允许容器访问我的本地主机网络,但是我不确定Docker
相对较新。
如何配置Docker
网络以允许在特定端口上发布到Dockernet
之外的服务?