前端和后端应用程序的Docker示例

时间:2016-03-28 18:22:30

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

我正在学习如何使用Docker,我正在使用Centos + PHP + MySQL设置一个使用Frontend和Backend的简单应用程序。

我有我的机器: "例如"

在机器"示例"我配置了2个泊坞容器:

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时起作用?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

由于服务之间的连接通过私有容器 - 容器网络,您不需要使用随机分配的端口,因此如果服务发布/公开端口80,您只需通过端口80连接