Jawaban:
Untuk mengekspos hanya satu port, inilah yang perlu Anda lakukan:
docker run -p <host_port>:<container_port>
Untuk mengekspos banyak port, cukup sediakan beberapa -pargumen:
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?
publishbukan expose.
Di Anda Dockerfile, Anda dapat menggunakan kata kerja EXPOSEuntuk mengekspos beberapa port.
misalnya
EXPOSE 3000 80 443 22
Anda kemudian ingin membangun gambar baru berdasarkan di atas Dockerfile.
misalnya
docker build -t foo:tag .
Kemudian Anda dapat menggunakan -puntuk memetakan port host dengan pelabuhan kontainer, sebagaimana didefinisikan dalam di atas EXPOSEdari Dockerfile.
misalnya
docker run -p 3001:3000 -p 23:22
Jika Anda ingin mengekspos berbagai port berkelanjutan, Anda dapat menjalankan buruh pelabuhan seperti ini:
docker run -it -p 7100-7120:7100-7120/tcp
jika Anda menggunakan docker-compose.ymlfile:
services:
varnish:
ports:
- 80
- 6081
Anda juga dapat menentukan port host / jaringan
varnish:
ports:
- 80:80
- 6081:6081
Jika Anda membuat wadah dari gambar dan ingin mengekspos beberapa port (tidak mempublikasikan) Anda dapat menggunakan perintah berikut:
buruh pelabuhan membuat --name
container name--expose 7000 --expose 7001image name
Sekarang, ketika Anda memulai wadah ini menggunakan docker startperintah, port yang dikonfigurasi di atas akan terbuka.