Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk memetakan pelabuhan dalam bekas docker

Bagaimana untuk memetakan pelabuhan dalam bekas docker

PHPz
PHPzasal
2023-04-18 15:21:129562semak imbas

Docker ialah enjin kontena aplikasi sumber terbuka yang membolehkan pembangun membungkus, mengedar dan menjalankan sebarang aplikasi dengan cepat, sama ada secara tempatan, dalam awan atau pada peranti mudah alih, menggunakan alat yang sangat baik ini. Ciri terbesar Docker ialah bekas yang menjalankan boleh digunakan dengan cepat ke hos yang berbeza dan konsistensi persekitaran dikekalkan. Disebabkan oleh prestasi cemerlang dan kemudahan penggunaan Docker, ia telah digunakan secara meluas dalam pengkomputeran awan, DevOps, perkhidmatan mikro dan bidang lain. Artikel ini akan memperkenalkan pemetaan port untuk bekas Docker.

  1. Pemetaan port kontena Docker

Setiap perkhidmatan dalam bekas Docker perlu menduduki nombor port. Jika perkhidmatan yang berjalan di dalam bekas perlu berkomunikasi dengan sistem luaran, maka nombor port ini perlu dipetakan ke port pada hos. Proses ini boleh dipanggil pemetaan port.

Dalam Docker, anda boleh menggunakan perintah docker run untuk memulakan bekas dan menentukan parameter pemetaan port. Sebagai contoh, dengan mengandaikan bahawa perkhidmatan web sedang berjalan dalam bekas dan port mendengar ialah 8080, kita boleh menggunakan arahan berikut untuk memetakan port 8080 dalam bekas ke port 8000 hos:

docker run -p 8000:8080 my-web-service

Parameter -p 8000:8080 arahan ini bermaksud memetakan port 8080 dalam bekas ke port 8000 hos. Parameter terakhir my-web-service menentukan imej Docker untuk dijalankan.

  1. Pemetaan berbilang port

Jika perkhidmatan yang dijalankan dalam bekas perlu mendedahkan berbilang port, anda boleh menambah parameter -p beberapa kali untuk pemetaan. Sebagai contoh, dengan mengandaikan bahawa perkhidmatan yang berjalan dalam bekas perlu mendengar dua port 8080 dan 8081 pada masa yang sama, kita boleh menggunakan arahan berikut untuk memetakan dua port ini ke port berbeza pada hos:

docker run -p 8000:8080 -p 8001:8081 my-web-service

Parameter -p 8000:8080 arahan ini bermaksud memetakan port 8080 dalam bekas ke port 8000 hos, dan parameter -p 8001:8081 bermaksud memetakan port 8081 dalam bekas ke pelabuhan 8001 hos.

  1. Ikat ke IP setempat

Secara lalai, port yang dipetakan oleh bekas Docker terikat pada semua antara muka kad rangkaian hos. Jika anda ingin menentukan pemetaan ke alamat IP tertentu, anda boleh lulus -p format parameter:

docker run -p IP:HOST_PORT:CONTAINER_PORT my-web-service

di mana, IP merujuk kepada alamat IP setempat yang hendak dipetakan dan HOST_PORT ialah hos Nombor port pada CONTAINER_PORT ialah nombor port yang sebenarnya didengari oleh perkhidmatan dalam bekas.

  1. Pemetaan port UDP

Tidak seperti port TCP, port UDP perlu dipetakan menggunakan format parameter -p. Contohnya, port UDP 8080 dalam bekas boleh dipetakan ke port UDP 8000 hos melalui arahan berikut:

docker run -p 8000:8080/udp my-udp-service
  1. Pemetaan Port Rawak

Dalam sesetengah kes, jika tidak perlu memetakan port dalam bekas ke port tetap hos, anda boleh menggunakan parameter -P untuk menentukan pemetaan port rawak. Sebagai contoh, anda boleh memulakan dan memetakan port perkhidmatan secara automatik melalui arahan berikut:

docker run -P my-web-service

Dalam arahan ini, parameter -P bermaksud memetakan semua port dalam bekas secara automatik kepada port rawak pada tuan rumah. Docker secara rawak akan memilih port hos yang tidak berpenghuni dan memetakan pelabuhan perkhidmatan dalam bekas kepadanya.

  1. Lihat port yang dipetakan

Anda boleh menggunakan perintah docker ps untuk melihat bekas yang sedang berjalan dan portnya yang dipetakan. Contohnya, anda boleh menggunakan arahan berikut untuk menyenaraikan semua bekas yang sedang berjalan dan port dipetakannya:

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"

Arahan ini akan memaparkan ID, nama dan nombor port yang dipetakan bagi setiap bekas.

Pemetaan port Docker mencipta antara muka rangkaian antara bekas dan hos untuk penghantaran data dua arah. Semasa mengkonfigurasi pemetaan port, anda perlu memberi perhatian kepada isu keselamatan rangkaian dan konflik port untuk mengelakkan masalah yang tidak perlu. Saya harap artikel ini dapat membantu pembaca memahami pemetaan port dan konfigurasi rangkaian Docker.

Atas ialah kandungan terperinci Bagaimana untuk memetakan pelabuhan dalam bekas docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn