【发布时间】:2018-06-27 21:12:37
【问题描述】:
我设置了 2 个项目(Admin 和 API)并尝试在本地移入 docker。
我可以毫无问题地访问两者上正在运行的 Web 实例,但是当管理员尝试向 API 发出 Curl 请求时,我收到 cURL 错误:
cURL 错误 7:无法连接到 localhost 端口 8080
这是我的 docker-compose.yml 文件内容:
version: "3.1"
services:
memcached:
image: memcached:alpine
container_name: project-admin-memcached
redis:
image: redis:alpine
container_name: project-admin-redis
mariadb:
image: mariadb:10.1
container_name: project-admin-mariadb
working_dir: /application
volumes:
- ./Projects:/application
environment:
- MYSQL_ROOT_PASSWORD=docker
- MYSQL_DATABASE=db_test
- MYSQL_USER=test
- MYSQL_PASSWORD=test
ports:
- "8083:3306"
# docker-compose exec webserver sh
# docker exec -it project-admin-webserver nginx -s reload
webserver:
image: nginx:alpine
container_name: project-admin-webserver
working_dir: /application
volumes:
- ./Projects/Api:/application/api
- ./Projects/Admin:/application/admin
- ./Docker/nginx:/etc/nginx/conf.d
ports:
- "8080:8080"
- "8090:8090"
# docker-compose exec php-fpm bash
php-fpm:
build: Docker/php-fpm
container_name: project-admin-php-fpm
working_dir: /application
volumes:
- ./Projects:/application
- ./Docker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
我可以通过以下方式从浏览器访问这两个项目:
我该如何解决这个问题?
【问题讨论】:
-
您的 curl 命令使用什么主机名?您可能知道,docker-compose 会为您创建一个默认网络。所以你会使用你的容器名称作为主机
-
好的,谢谢。
标签: php symfony docker docker-compose