2015-02-25 19 views
52

Tôi có thể chỉ định một phạm vi cảng trong một DockerfileDocker phơi bày tất cả các cổng hoặc hàng loạt các cổng 7000-8000

EXPOSE 7000-8000 

và khi chạy container ràng buộc tất cả những tiếp xúc cổng để cùng một cổng trên máy chủ?

docker run -p 7000-8000:7000-8000 
+1

có thể trùng lặp của [Docker: Expose một loạt các cảng] (http: // stackoverflow.com/questions/28022656/docker-expose-a-range-of-ports) –

Trả lời

76

Kể từ Docker 1,5 bây giờ bạn có thể lộ một loạt các cảng container liên kết khác sử dụng:

Các Dockerfile EXPOSE lệnh:

EXPOSE 7000-8000

hay The Docker run lệnh:

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 vào máy chủ qua Docker run lệnh:

docker run -p 7000-8000:7000-8000

+11

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 bản đồ cổng đơn. Nếu bạn cho 5000-50000, thì thực tế bạn phải đợi một thời gian dài. Đây có phải là hành vi được cho là không? –

+6

@ ᐅ devrimbaris Ngoài ra còn có một [quá trình docker được khởi chạy cho mỗi cổng] (http://stackoverflow.com/q/37770567/1318694). Tôi tin rằng đây là những gì chiếm phần lớn thời gian làm việc. – Matt

+0

@Matt Tôi tự hỏi nếu chúng là các quá trình thực hay chỉ là các chủ đề? –

Các vấn đề liên quan