Docker hiển thị tất cả các cổng hoặc phạm vi cổng từ 7000 đến 8000


Câu trả lời:


134

Kể từ Docker 1.5, giờ đây bạn có thể hiển thị một loạt các cổng cho các vùng chứa được liên kết khác bằng cách sử dụng:

Lệnh Dockerfile EXPOSE :

EXPOSE 7000-8000

hoặc Lệnh chạy Docker :

docker run --expose=7000-8000

Hoặc thay vào đó, bạn có thể xuất bản một loạt các cổng lên máy chủ thông qua lệnh chạy Docker :

docker run -p 7000-8000:7000-8000


14
Kiểm tra đầu ra của "iptables -L -n" trên máy chủ và bạn sẽ thấy hàng trăm dòng mỗi dòng cho ánh xạ cổng đơn. Nếu bạn đưa ra 5000-50000, thì thực tế bạn phải chờ đợi rất lâu.
ᐅ devrimbaris,

8
@ ᐅ devrimbaris Cũng có một quy trình docker đang được khởi chạy trên mỗi cổng . Tôi tin rằng đây là thứ chiếm phần lớn thời gian của công việc.
Matt

1
tài liệu nói về --publish-all , -Pcờ "Xuất bản tất cả các cổng được hiển thị thành các cổng ngẫu nhiên". docs.docker.com/engine/reference/commandline/run
nils petersohn

2

Đối với bất kỳ ai đang gặp phải vấn đề này và kết thúc bài đăng này ... vấn đề vẫn còn mở - https://github.com/moby/moby/issues/11185


Cảm ơn bạn rất nhiều. Tôi phát điên lên vì mọi thứ đều bị kẹt khi cố gắng để lộ hàng nghìn cổng.
sarusso
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.