Tôi có Windows 10 Home trên máy tính của mình với WSL2. Trong WSL tôi chạy Docker với cái này docker-compose.yml
tập tin:
phiên bản: "3"
dịch vụ:
httpd:
hình ảnh: 'nginx: ổn định-alpine'
cổng:
- '80:80'
khối lượng:
- ./:/var/www/html
- ./.docker-config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
phụ thuộc:
- php
- mysql
mạng:
- mynet
php:
xây dựng:
bối cảnh: ./.docker-config/dockerfiles
dockerfile: php.dockerfile
khối lượng:
- ./:/var/www/html:được ủy quyền
mạng:
- mynet
mạng:
mạng của tôi:
tài xế: cầu
Trong ./.docker-config/nginx/nginx.conf
Tôi có cấu hình này:
người phục vụ {
nghe 80;
chỉ mục index.php index.html;
máy chủ_tên máy chủ cục bộ;
gốc /var/www/html/công khai;
địa điểm / {
try_files $uri $uri/ /index.php?$query_string;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Tôi khởi động bộ chứa Docker của mình bằng lệnh này:
docker-compose up -d
Tôi thêm tên miền tùy chỉnh của mình vào máy chủ
tệp trong Windows với địa chỉ IP hiện tại của WSL2.
Trong Power Shell, tôi thử ping miền của mình và nó đang phản hồi, vì vậy tôi nghĩ rằng cấu hình máy chủ là tốt.
Nhưng nếu tôi cố truy cập miền của mình trong trình duyệt, thì nó không phản hồi. Thông báo lỗi là ERR_CONNECTION_TIMED_OUT
.
Phần kỳ lạ hơn là ngày hôm qua nó đã hoạt động và không có gì thay đổi trong các tệp cấu hình. Máy tính (và tất nhiên là WSL2 và Docker) đã bị tắt và khởi động vào ngày hôm nay.
Bạn có biết chuyện gì đang xảy ra ở đây không và làm cách nào để tránh tình trạng này trong tương lai?
CẬP NHẬT
Tôi đã đổi tên mạng của mình, khởi động lại docker và mọi thứ đều hoạt động tốt. Nhưng tôi không hiểu chuyện gì đang xảy ra ở đây. Tôi vẫn đang chờ câu trả lời để hiểu lý do của vấn đề này.
Cảm ơn!