[英]Localhost connection refused in Docker development environment
我將 Docker 用於我的 PHP 開發環境,並以這種方式使用 Docker Compose 設置我的圖像:
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 配置(在其 Docker 文件中)使用名為myapp.localhost.com
( server_name
參數)的虛擬主機,並指向/var/www/myapp
文件夾。
所有這些工作正常。
但這是我的問題:我的 Web 應用程序通過帶有 cURL(在 PHP 代碼中)的myapp.localhost.com
URL 調用自身,通過運行以下命令可以更輕松地重現:
docker-compose run php curl http://myapp.localhost.com
cURL 響應如下:
cURL 錯誤 7:無法連接到 myapp.localhost.com 端口 80:連接被拒絕
您對我如何調用應用程序 URL 有任何想法嗎? 我在docker-compose.yml
文件中遺漏了什么嗎?
幾個月后,我回來發布(非常直接)我的問題的答案:
server_name
條目extra_hosts
docker-compose.yml
文件中的extra_hosts
條目(不是必需的,但沒用) 只需使用 Nginx 容器名稱作為主機調用服務器(此處為nginx
):
docker-compose exec php curl http://nginx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.