У меня есть простое веб-приложение, которое использует HTML
и PHP
для сбора информации через форму HTML
.Он принимает эту информацию и использует HTML-POST
для отправки ее службе, также работающей на моем локальном хосте через порт 8400, в качестве приложения XML
.У меня есть это приложение, работающее в стеке 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
на определенных портах?