使用Windows 10和Docker,我试图到达运行nginx的Linux容器。我试图通过网络浏览器访问本地主机(或通过IP地址),但显示“无法访问此页面”。如果我尝试在nginx容器中访问localhost或使用CURL直接ip,则会收到“拒绝连接”的信息。我是使用Windows的Docker的完全入门者,要解决它的噩梦!尝试过localhost:8080
和172.18.0.4:8080
(这是docker inspect nginx_1中显示的IP)
这是我的docker-compose.yml
version: '2'
volumes:
database_data:
driver: local
services:
nginx:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./docker/nginx/default.conf:/etc/nginx/conf.d
volumes_from:
- php
php:
build: ./docker/php
expose:
- 9000
volumes:
- .:/var/www/html
mysql:
image: mysql:latest
expose:
- 3306
volumes:
- database_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: project
MYSQL_USER: project
MYSQL_PASSWORD: project
这是我的Nginx default.conf文件:
server {
listen 80 default_server;
root /var/www/html/public;
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV development;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
我的配置中缺少什么阻止我从主机访问index.php文件?
非常感谢!