Я использую Docker для моей среды разработки PHP, и я создал свои изображения с Докер Compose таким образом:Localhost соединение отказано в Докер среде разработки
myapp:
build: myapp/
volumes:
- ./myapp:/var/www/myapp
php:
build: php-fpm/
expose:
- 9000:9000
links:
- elasticsearch
volumes_from:
- myapp
extra_hosts:
# Maybe the problem is related to this line
- "myapp.localhost.com:127.0.0.1"
nginx:
build: nginx/
ports:
- 80:80
links:
- php
volumes_from:
- myapp
elasticsearch:
image: elasticsearch:1.7
ports:
- 9200:9200
Nginx настроен (в файле Докер) с виртуальным хост с именем myapp.localhost.com
(server_name
) и указывает на папку /var/www/myapp
.
Все это прекрасно работает.
Но вот моя проблема: мой веб-приложение вызывает себя через myapp.localhost.com
URL с CURL (в коде PHP), которые могут быть легко воспроизведены с помощью этой команды:
docker-compose run php curl http://myapp.localhost.com
локонов ответ заключается в следующем:
Curl ошибка 7: Не удалось подключиться к порту myapp.localhost.com 80: Соединение отклонено
Вы знаете, как я могу назвать URL-адрес приложения? Есть ли что-то, что я пропустил в моем файле docker-compose.yml
?
Из того, что я видел в Интернете, я должен добавить «-» nginx: myapp.localhost.com »в список« ссылок »в записи' php' 'docker-compose.yml' , Но это приводит к так называемой ошибке «Circular import» при запуске docker-compose. Возможно, https://github.com/docker/compose/pull/1676 решит проблему в Docker Compose 1.5. В любом случае, я открыт для любого другого решения! –