Bạn không thể. Những cổng nào được xuất bản trên máy chủ docker đúng là một quyết định cần được thực hiện bởi người quản trị cục bộ, chứ không phải bởi hình ảnh mà họ đang cố chạy; Điều này sẽ là (a) một vấn đề an ninh (hey, tôi chỉ cần mở ssh truy cập vào hệ thống của bạn!) và (b) dễ bị thất bại (container webserver của tôi không thể ràng buộc trên cổng 80 vì tôi đã chạy một máy chủ trên cổng 80).
Nếu bạn muốn tránh dài docker run
dòng lệnh, hãy xem xét sử dụng một cái gì đó như docker-compose để tự động hóa quy trình. Sau đó bạn có thể vượt qua Docker-soạn một cấu hình như:
mywebserver:
image: myname/mywebserver
ports:
- 80:8080
Và sau đó một đơn giản docker-compose up
sẽ bắt đầu container của bạn với cảng container 8080 bị ràng buộc để lưu trữ cổng 80.
Cập nhật 2017/03/11
đáp lại bình luận Willa của:
Sử dụng docker-compose
sẽ không h elp với vấn đề va chạm cổng. Vấn đề va chạm cổng là một lý do tại sao hình ảnh không thể xác định ràng buộc cổng máy chủ. Tôi chỉ đơn giản là cung cấp docker-compose
như một giải pháp thay thế cho các dòng lệnh dài docker run
có nhiều liên kết cổng. Sự cố va chạm cổng có khả năng cho phép một container thực hiện tấn công từ chối dịch vụ trên máy chủ của bạn: nếu, ví dụ, một container bắt đầu và liên kết với cổng 80 trước máy chủ Apache trên máy chủ của bạn (hoặc trong một vùng chứa khác), sau đó bạn vừa mất dịch vụ web của mình.
Về vấn đề bảo mật: Nếu hình ảnh có thể chỉ định các ràng buộc cổng máy chủ, có thể các thùng chứa sẽ mở quyền truy cập vào vùng chứa mà bạn không biết. Cho phép người dùng từ xa truy cập vào một thùng chứa trên máy chủ của bạn sẽ mở ra khả năng thỏa hiệp máy chủ trong trường hợp các tính năng không gian tên trong hạt nhân không hoàn toàn cô lập vùng chứa, và thậm chí nếu bạn hoàn toàn tin tưởng sự cô lập nó mở ra bạn đối với các vấn đề pháp lý tiềm tàng nếu container đó được sử dụng cho mục đích bất hợp pháp. Trong cả hai trường hợp đó là một ý tưởng tồi.
Cảm ơn! giúp –
Cách sử dụng docker-compose có thể giải quyết được khả năng xảy ra va chạm cổng? Bên cạnh đó bạn có thể giải thích một chút về vấn đề bảo mật? – Willa