Vì vậy, tôi đã cố gắng thiết lập một số trang web và những thứ khác trên Máy chủ Ubuntu 20.04.3 LTS của mình.
Các ứng dụng dựa trên WebUI khác nhau trong các docker khác nhau được truy cập thông qua nginx. Nhưng tôi muốn có thể kết nối với BẤT CỨ docker nào của mình. Sau khi quay lén, có vẻ như việc chuyển tiếp cổng không hoạt động trên bất kỳ docker nào của tôi. Nó bắt đầu với docker nút đỏ của tôi, nginx cũng không hoạt động và bây giờ tôi đã thiết lập một docker whoami rất đơn giản là một máy chủ web rất cơ bản chạy trên cổng 8000.
Tôi vẫn không thể kết nối với nó.
Nếu tôi truy cập docker bằng cách sử dụng "docker exec -ti whoami sh", tôi có thể truy cập máy chủ web thông qua wget nhưng không thể truy cập từ bên ngoài docker.
Tôi đã tìm kiếm rất nhiều và hầu hết các vấn đề trong đó sử dụng sai cờ -p hoặc máy chủ web chỉ nghe localhost, v.v. Cả hai đều không phải là trường hợp ở đây.
Đây là đầu ra thiết bị đầu cuối thử nghiệm của tôi để hiển thị những gì đang xảy ra
$~Â docker ps
ID CONTAINER HÌNH ẢNH LỆNH TẠO TÊN CỔNG TRẠNG THÁI
726da9705b7f jwilder/whoami "/app/http" Khoảng một phút trước Lên Khoảng một phút 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp whoami
$~Â
$~Â wget -O - http://127.0.0.1:8000/
--2021-10-16 23:19:09-- http://127.0.0.1:8000/
Đang kết nối với 127.0.0.1:8000... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi...Lỗi đọc (Thiết lập lại kết nối theo ngang hàng) trong tiêu đề.
Đang thử lại.
--2021-10-16 23:21:21-- (thử: 2) http://127.0.0.1:8000/
Đang kết nối với 127.0.0.1:8000... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi... ^C
$~Â
$~Â docker exec -ti whoami sh
/ ứng dụng # wget -O - http://127.0.0.1:8000/
Đang kết nối với 127.0.0.1:8000 (127.0.0.1:8000)
Tôi là 726da9705b7f
- 100% |************************************************ *******| 17 0:00:00 ETA
/ ứng dụng # thoát
$~Â
$~Â mèo run.sh
docker run -d -p 8000:8000 --name whoami -t jwilder/whoami
$~Â
$~
Bằng chứng là máy chủ không cố định với máy chủ lưu trữ cục bộ:
$~Â
$~Â nhật ký docker -f whoami
Đang nghe: 8000
Tôi là 726da9705b7f
^C
$~Â
$~Â docker exec -ti whoami sh
/ứng dụng # ./http
Đang nghe: 8000
16/10/2021 22:36:23 nghe tcp :8000: bind: địa chỉ đã được sử dụng
/ ứng dụng # thoát
$~
$~Â
Và theo như tôi có thể nói dịch vụ docker thực sự lấy cổng:
$~
$~ sudo lsof -i:8000
LỆNH PID NGƯỜI DÙNG LOẠI FD KÍCH THƯỚC THIẾT BỊ/TẮT TÊN NÚT
docker-pr 24976 root 4u IPv4 112329 0t0 TCP *:8000 (LẮNG NGHE)
docker-pr 24984 root 4u IPv6 114001 0t0 TCP *:8000 (LẮNG NGHE)
$~
$~
Nhưng nó vẫn không hoạt động.
Có ai có ý tưởng gì đang xảy ra không, tôi rất không biết gì.