Điểm:0

Không thể chuyển tiếp cổng trên bất kỳ docker nào

lá cờ je

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ì.

Phillip avatar
lá cờ je
Ý tôi là trong khi phát hiện ra rằng nếu tôi xóa và cài đặt lại docker.io trong lần đầu tiên tôi sử dụng một cổng thì nó sẽ hoạt động nhưng nếu tôi dừng và rm docker và sử dụng docker run để tạo lại nó, thì nó sẽ ngừng hoạt động.
Điểm:0
lá cờ de

Hãy thử chạy vùng chứa này trên một cổng khác:

$ docker run --rm -d -p 8001:8000 --name whoami -t jwilder/whoami
64a5059666e0f3db12562a44edf576336f73fcecd5e7d86c1e739259e1ffd307
$ cuộn tròn máy chủ cục bộ:8001
Tôi là 6a82c9e7371e

Nếu điều này hoạt động, thì đó có thể là điều gì đó đáng ngờ đang xảy ra trên Máy chủ (có thể là iptables với chuyển hướng cổng).

Phillip avatar
lá cờ je
Không, không hoạt động.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.