如何在docker中获取LAMP堆栈应用程序,以将HTTP POST发送到在本地主机上运行的另一服务?

时间:2019-04-26 18:59:03

标签: docker docker-compose docker-networking

我有一个简单的Web应用程序,该应用程序使用HTMLPHP通过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之外的服务?

0 个答案:

没有答案