/ / Localhost spojenie odmietnuté vo vývojovom prostredí Docker - php, curl, nginx, docker, docker-compose

Pripojenie Localhost bolo odmietnuté vo vývojovom prostredí Docker - php, curl, nginx, docker, docker-compose

Používam Docker pre moje vývojové prostredie PHP a nastavujem svoje obrázky pomocou Docker Compose takto:

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 je nakonfigurovaný (vo svojom súbore Docker) s názvom virtuálneho hostiteľa myapp.localhost.com (server_name ), a to poukazuje na. \ t /var/www/myapp zložky.

To všetko funguje dobre.

Ale tu je môj problém: moja webová aplikácia sa volá cez myapp.localhost.com URL s cURL (v kóde PHP), ktoré sa dá ľahšie reprodukovať spustením tohto príkazu:

docker-compose run php curl http://myapp.localhost.com

Odpoveď cURL je nasledovná:

Chyba cURL 7: Nepodarilo sa pripojiť k portu myapp.localhost.com 80: Pripojenie bolo odmietnuté

Máte predstavu o tom, ako môžem volať adresu URL aplikácie? Je tu niečo, čo mi chýbalo docker-compose.yml súbor?

odpovede:

1 pre odpoveď č. 1

O niekoľko mesiacov neskôr som sa vrátil, aby som odpovedal na túto otázku:

  • Odstrániť server_name v konfigurácii hostiteľa Nginx
  • Odstrániť extra_hosts vstup v docker-compose.yml súbor (nie je potrebný, ale je to zbytočné)

Jednoducho zavolajte server s názvom kontajnera Nginx ako hostiteľa (nginx tu):

 docker-compose exec php curl http://nginx