Câu trả lời:
Để chỉ hiển thị một cổng, đây là những gì bạn cần làm:
docker run -p <host_port>:<container_port>
Để hiển thị nhiều cổng, chỉ cần cung cấp nhiều -p
đối số:
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?
publish
không expose
.
Trong của bạn Dockerfile
, bạn có thể sử dụng động từ EXPOSE
để lộ nhiều cổng.
ví dụ
EXPOSE 3000 80 443 22
Sau đó, bạn muốn xây dựng một hình ảnh mới dựa trên Dockerfile
.
ví dụ
docker build -t foo:tag .
Sau đó, bạn có thể sử dụng -p
để ánh xạ cổng máy chủ với các cảng container, theo quy định tại nêu trên EXPOSE
của Dockerfile
.
ví dụ
docker run -p 3001:3000 -p 23:22
Trong trường hợp bạn muốn hiển thị một loạt các cổng liên tục, bạn có thể chạy docker như thế này:
docker run -it -p 7100-7120:7100-7120/tcp
nếu bạn sử dụng docker-compose.yml
tập tin:
services:
varnish:
ports:
- 80
- 6081
Bạn cũng có thể chỉ định cổng máy chủ / mạng
varnish:
ports:
- 80:80
- 6081:6081
Nếu bạn đang tạo một thùng chứa từ một hình ảnh và muốn để lộ nhiều cổng (không xuất bản), bạn có thể sử dụng lệnh sau:
tạo
container name
docker --name --expose 7000 --expose 7001image name
Bây giờ, khi bạn khởi động container này bằng docker start
lệnh, các cổng được cấu hình ở trên sẽ bị lộ.