/ / डॉकहॉस्टर विकास के वातावरण में लोकलहोस्ट कनेक्शन ने मना कर दिया - php, कर्ल, नग्नेक्स, डॉकटर, डॉकटर-अपोज़

डॉकर विकास पर्यावरण में स्थानीयहोस्ट कनेक्शन से इंकार कर दिया - php, curl, nginx, docker, docker-compose

मैं अपने PHP के विकास के माहौल के लिए Docker का उपयोग करता हूं, और मैंने अपनी छवियाँ Docker के साथ इस तरह से स्थापित की हैं:

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 प्रतिक्रिया निम्नलिखित है:

cURL त्रुटि 7: myapp.localhost.com पोर्ट 80 से कनेक्ट करने में विफल: कनेक्शन ने इनकार कर दिया

क्या आपके पास इस बारे में कोई विचार है कि मैं ऐप URL को कैसे कॉल कर सकता हूं? क्या कोई ऐसी चीज है जो मुझे याद आती है docker-compose.yml फाइल?

उत्तर:

उत्तर № 1 के लिए 1

महीनों बाद, मैं अपने प्रश्न का उत्तर (काफी सीधा) पोस्ट करने के लिए वापस आता हूं:

  • हटाए server_name Nginx होस्ट कॉन्फ़िगरेशन में प्रविष्टि
  • हटाए extra_hosts में प्रवेश docker-compose.yml फ़ाइल (आवश्यक नहीं है, लेकिन यह बेकार है)

बस होस्ट के रूप में Nginx कंटेनर नाम के साथ सर्वर को कॉल करें (nginx यहाँ):

 docker-compose exec php curl http://nginx