sách gpt4 ăn đã đi

linux - Làm cách nào để chuyển tiếp cổng localhost trên vùng chứa sang localhost trên máy chủ?

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 12:38:22 32 4
mua khóa gpt4 giày nike

Tôi có một daemon chạy trên một cổng nhất định (tức là 8008) trên máy chủ của mình và mã của tôi thường tương tác với daemon bằng cách liên hệ với localhost:8008.

Bây giờ tôi đã chứa mã của mình nhưng chưa có daemon. Làm cách nào để chuyển tiếp localhost:8008 trên vùng chứa sang localhost:8008 trên máy chủ đang chạy vùng chứa (và daemon).

Sau đây là của tôiChủ nhàTRÊNnetstat-tlnp. tôi hy vọng thùng chứa Chuyển tiếp localhost:2009 sang localhost:2009 trên máy chủ

Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình            
tcp 0 0 127.0.0.1:2009 0.0.0.0:* NGHE 22547/ssh
tcp6 0 0 :::22 :::* NGHE -
tcp6 0 0 ::1:2009 :::* NGHE 22547/ssh

câu trả lời hay nhất

Vì vậy, cách bạn cần nghĩ về điều đó là bộ chứa Docker có ngăn xếp mạng riêng (trừ khi bạn yêu cầu nó hoạt động với --net=máy chủ ngăn xếp lưu trữ được chia sẻ). Điều này có nghĩa là khi được liên kết với một cổng máy chủ, cổng đó cần phải nằm trong vùng chứa docker nội bộ và bên ngoài ( tài liệu ) được công khai. Các cổng hiển thị trên vùng chứa cần phải được liên kết rõ ràng với cổng máy chủ (trong chạy docker dùng trong lệnh -p xxxx:yyyy) hoặc ràng buộc ngầm định (sử dụng PHƠI RA trong Dockerfile của bạn và sử dụng từ dòng lệnh -P), như đã nói đây .Nếu Dockerfile của bạn không chứa TIẾT LỘ 8008, hoặc bạn không ở trong chạy docker được chỉ định trong lệnh --phơi bày 8008, thùng chứa của bạn không thể giao tiếp với thế giới bên ngoài,Cho dù sau này bạn chạy docker dùng trong lệnh -p 8008:8008!

Vì vậy, để có được tcp/8008 trên máy chủ được liên kết với tcp/8008 trên vùng chứa, bạn cần sử dụng trong Dockerfile TIẾT LỘ 8008(Sau đó trong container sử dụng xây dựng docker)hoặc --hiện hữu lệnh chạy docker Trung Quốc mở rộng 8008. Ngoài ra, bạn cần sử dụng -P ngầm định hoặc -p 8008:8008 Liên kết rõ ràng các cổng container tiếp xúc với các cổng máy chủ. Ví dụ về việc làm này chạy docker Lệnh có thể trông như thế này:

docker chạy -it --expose 8008 -p 8008:8008 myContainer

Xin hãy nhớ rằng trong -p 8008:8008 Trong các tùy chọn dòng lệnh, thứ tự của thao tác này là -p CỔNG_HOST:CỔNG_CONTAINER. Ngoài ra, đừng quên rằng bạn sẽ không thể SSH vào vùng chứa của mình từ một máy khác trên Internet trừ khi bạn định cấu hình iptables trên máy chủ Cổng này cũng được mở khóa trong . Cuối cùng tôi luôn quên điều này và lãng phí nửa giờ trước khi nhớ ra rằng mình đã quên iptables - ĐẦU VÀO ... Đối với một cổng tcp cụ thể trên máy chủ. Nhưng bạn sẽ có thể SSH từ máy chủ đến vùng chứa mà không cần quy tắc iptables vì ​​nó sử dụng loopback cho các kết nối cục bộ. Chúc may mắn!

Về linux - Làm cách nào để chuyển tiếp cổng localhost trên container sang localhost trên máy chủ? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/30109037/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress