Как я могу получить приложение стека LAMP в докере для отправки HTTP POST другому сервису, работающему на моем локальном хосте? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть простое веб-приложение, которое использует 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 на определенных портах?

...