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?
publishkhô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 EXPOSEcủ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.ymltậ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 namedocker --name --expose 7000 --expose 7001image name
Bây giờ, khi bạn khởi động container này bằng docker startlệnh, các cổng được cấu hình ở trên sẽ bị lộ.