我正在学习如何使用 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 1.9 或 1.10,并为您的 docker-compose.yml
使用 2.0 格式,您可以通过它们的“服务”名称或“容器”名称直接访问其他服务。请参阅我对这个问题的回答,其中有一个基本示例来说明这一点; https://stackoverflow.com/a/36245209/1811501
因为服务之间的连接是通过私有(private)容器-容器网络,你不需要使用随机分配的端口,所以如果一个服务发布/暴露80端口,你可以简单地通过80端口连接
https://stackoverflow.com/questions/36268475/