Apakah Pemetaan Pelabuhan dalam Docker?

Apakah Pemetaan Pelabuhan Dalam Docker



Docker ialah platform sumber terbuka yang terkenal dan sering digunakan untuk mencipta, berkongsi dan menjalankan perisian dan aplikasi. Ia menggunakan komponen berbeza untuk melaksanakan projek di dalam bekas seperti imej Docker, enjin Docker atau daemon, dan klien Docker. Walau bagaimanapun, untuk mengakses proses dalaman bekas, pemetaan port diperlukan.

Catatan ini akan membincangkan:







Apakah Pemetaan Pelabuhan Docker?

Semasa melaksanakan perkhidmatan atau aplikasi di dalam bekas, pengguna biasanya mahu mengakses apl atau perkhidmatan kepada dunia luar dan bukannya di dalam bekas. Untuk mengakses proses atau perkhidmatan kontena dari luar, proses pemetaan port digunakan dalam Docker. Pemetaan port ialah proses yang mencipta peraturan firewall yang memetakan port terbuka kontena ke port terbuka hos Docker yang melaluinya aplikasi atau perkhidmatan pelaksana boleh diakses daripada sistem hos.



Bagaimana untuk Memetakan Pelabuhan di Docker?

Untuk memetakan port dalam Docker, dua pilihan digunakan untuk menerbitkan port pada hos; “ –terbitkan” atau “-p ”. Untuk memetakan port dalam Docker, ikut arahan yang diberikan.



Langkah 1: Buat Dockerfile

Pertama, buat fail Docker yang akan melaksanakan program HTML mudah ' index.html ”. Dalam kod di bawah:





  • DARI kekunci ” digunakan untuk menentukan imej asas bekas.
  • SALINAN pernyataan ' digunakan untuk menyalin ' index.html ” fail ke laluan bekas.
  • ENTRYPOINT ' sedang menerangkan laksana bekas Docker:
DARI nginx:terkini
SALIN index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'daemon off;']

Langkah 2: Cipta Imej dalam Docker

Seterusnya, buat imej baharu menggunakan arahan yang disebutkan:

docker build -t html .



Langkah 3: Buat dan Petakan Bekas pada Hos

Seterusnya, cipta dan petakan bekas pada hos melalui “ lari berlabuh ” perintah. Di sini, ' -hlm Pilihan ' sebenarnya digunakan untuk memetakan bekas pada port localhost ' 80 ”:

docker run -p 80:80 --name html-cont html

Seterusnya, senaraikan semua bekas dan sahkan sama ada port dipetakan atau tidak:

pekerja pelabuhan ps -a

Langkah 4: Pengesahan

Seterusnya, sahkan sama ada ' index.html ” program yang dilaksanakan di dalam bekas boleh diakses pada hos atau tidak. Untuk tujuan ini, navigasi ke ' http://localhost:80 ” URL dalam penyemak imbas:

Bagaimana untuk Memetakan Port dalam Docker Compose?

Untuk memetakan port dalam Docker Compose untuk mengakses perkhidmatan karang dari luar bekas Docker, ikut langkah yang disenaraikan.

Langkah 1: Buat Fail 'docker-compose.yml'.

Pertama, buat ' docker-compose.yml ” fail dan tampal arahan berikut:

  • perkhidmatan kunci ” mentakrifkan perkhidmatan mengarang. Sebagai contoh, ' web ” perkhidmatan dicipta:
  • membina kunci ” digunakan untuk mengakses konteks binaan. Dalam kod di bawah, ' . ” bermakna kami menggunakan Dockerfile yang diletakkan dalam direktori yang sedang dibuka.
  • pelabuhan kunci ” digunakan khusus untuk memetakan port. Ia mentakrifkan port tempat bekas akan terdedah:
versi: '3'
perkhidmatan:
web:
membina: .
pelabuhan:
-80:80

Langkah 2: Laksanakan Perkhidmatan Karang

Seterusnya, laksanakan ' docker-compose up ” perintah untuk melancarkan perkhidmatan pada port pemetaan dan di dalam bekas:

docker-compose up -d

Daripada output, anda dapat melihat bahawa kami telah mengakses ' web ” perkhidmatan dari luar bekas pada hos:

Itu sahaja tentang pemetaan pelabuhan di Docker.

Kesimpulan

Pemetaan port ialah proses mencipta peraturan tembok api yang memetakan port kontena ke port terbuka hos Docker yang melaluinya aplikasi atau perkhidmatan pelaksana boleh diakses daripada sistem hos. Untuk memetakan pelabuhan di Docker, ' -p” atau “–terbitkan pilihan ' digunakan dalam ' lari berlabuh ” perintah. Dalam fail karang, ' pelabuhan kunci ” digunakan untuk memetakan pelabuhan. Siaran ini telah menunjukkan pemetaan port dalam Docker dan cara memetakan port.