【问题标题】:Docker example for frontend and backend application前端和后端应用程序的 Docker 示例
【发布时间】:2016-03-29 04:23:50
【问题描述】:

我正在学习如何使用 Docker,并且正在使用 Centos+PHP+MySQL 设置一个带有前端和后端的简单应用程序。

我有我的机器: “例子”

在机器“示例”中,我配置了 2 个 docker 容器:

frontend:
  build: ./frontend
  volumes:
    - ./frontend:/var/www/html
    - ./infrastructure/logs/frontend/httpd:/var/logs/httpd
  ports:
    - "80"
  links:
    - api
api:
  build: ./api
  volumes:
    - ./api:/var/www/html
    - ./infrastructure/logs/api/httpd:/var/logs/httpd
  ports:
    - "80"
  links:
    - mysql:container_mysql

我面临的问题是当我访问 docker 容器时,我需要为 FRONTEND (32771) 或 BACKEND (32772) 指定端口号。

这是正常的还是有办法为应用程序的 API 和前端创建主机名?

这在部署到 AWS 时如何工作?

提前致谢。

【问题讨论】:

    标签: amazon-web-services docker docker-compose devops docker-container


    【解决方案1】:

    如果您正在运行 docker 1.9 或 1.10,并为您的 docker-compose.yml 使用 2.0 格式,您可以通过它们的“服务”名称或“容器”名称直接访问其他服务。请参阅我对这个问题的回答,其中有一个基本示例来说明这一点; https://stackoverflow.com/a/36245209/1811501

    由于服务之间的连接是通过私有的容器-容器网络,你不需要使用随机分配的端口,所以如果一个服务发布/暴露80端口,你可以简单地通过80端口连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2011-02-21
      • 1970-01-01
      • 2022-01-28
      • 2013-05-11
      • 2022-10-06
      相关资源
      最近更新 更多