Jadi saya punya 3 port yang harus diekspos ke antarmuka mesin. Apakah mungkin melakukan ini dengan wadah Docker?
docker
docker-networking
nubela
sumber
sumber
Jawaban:
Untuk mengekspos hanya satu port, inilah yang perlu Anda lakukan:
Untuk mengekspos banyak port, cukup sediakan beberapa
-p
argumen:sumber
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?docker run -P
(perhatikan huruf besar) yang secara otomatis mengekspos semua port yang didefinisikan dengan EXPOSE di Dockerfilepublish
bukanexpose
.Langkah 1
Di Anda
Dockerfile
, Anda dapat menggunakan kata kerjaEXPOSE
untuk mengekspos beberapa port.misalnya
Langkah 2
Anda kemudian ingin membangun gambar baru berdasarkan di atas
Dockerfile
.misalnya
Step3
Kemudian Anda dapat menggunakan
-p
untuk memetakan port host dengan pelabuhan kontainer, sebagaimana didefinisikan dalam di atasEXPOSE
dariDockerfile
.misalnya
Jika Anda ingin mengekspos berbagai port berkelanjutan, Anda dapat menjalankan buruh pelabuhan seperti ini:
sumber
jika Anda menggunakan
docker-compose.yml
file:Anda juga dapat menentukan port host / jaringan
sumber
Jika Anda membuat wadah dari gambar dan ingin mengekspos beberapa port (tidak mempublikasikan) Anda dapat menggunakan perintah berikut:
Sekarang, ketika Anda memulai wadah ini menggunakan
docker start
perintah, port yang dikonfigurasi di atas akan terbuka.sumber