Docker ialah platform kontena popular yang membantu pengguna membina, menerbitkan dan menjalankan aplikasi dengan mudah. Docker berjalan pada pelbagai sistem pengendalian dan boleh digunakan dengan hampir mana-mana bahasa pengaturcaraan. Jika anda pengguna Docker, anda mungkin sudah tahu cara menjalankan aplikasi dalam bekas Docker tempatan. Walau bagaimanapun, dalam persekitaran pengeluaran sebenar, anda perlu memahami cara menyediakan perkhidmatan secara luaran melalui rangkaian. Artikel ini akan menerangkan cara untuk mengakses perkhidmatan Docker dan menunjukkan kepada anda cara menggunakan pemetaan port dan rangkaian dalam Docker.
Apabila anda menjalankan perkhidmatan dalam Docker, secara lalai perkhidmatan itu hanya boleh diakses secara setempat dan bukan dari komputer lain. Untuk membolehkan perkhidmatan boleh diakses, anda perlu mendedahkan perkhidmatan kepada rangkaian awam melalui pemetaan port. Pemetaan port ialah teknik untuk memetakan port Docker dalaman ke komputer luaran. Berikut ialah beberapa langkah untuk melakukan ini:
Langkah 1: Jalankan perkhidmatan dalam Docker
Mula-mula, anda perlu menjalankan perkhidmatan anda dalam Docker secara setempat. Contohnya, jika anda menjalankan aplikasi web, anda perlu menggunakan arahan Docker yang sesuai untuk menjalankan aplikasi dalam bekas.
Langkah 2: Cari alamat IP bekas Docker
Seterusnya, anda perlu mencari alamat IP bekas Docker. Anda boleh menjalankan perintah berikut untuk mendapatkan alamat IP bekas:
docker inspect <container_name> | grep "IPAddress"
Nota: di mana
Langkah 3: Petakan port kontena ke port hos
Seterusnya, anda perlu memetakan port kontena ke port hos. Contohnya, jika aplikasi anda berjalan pada port 80 dalam bekas, anda perlu memetakan port tersebut ke port 8080 pada hos. Anda boleh menggunakan arahan berikut untuk melakukan ini:
docker run -p 8080:80 -d <image_name>
Nota: -p merujuk kepada pemetaan port ke hos port 8080, -d merujuk kepada menjalankan bekas dalam mod daemon, Langkah 4: Akses bekas melalui nama hos Akhir sekali, anda boleh mengakses bekas menggunakan nama hos atau alamat IP. Jika anda telah memetakan port kontena ke port hos 8080, anda boleh mengakses perkhidmatan dengan cara berikut: Nota: di mana Langkah 2: Mulakan bekas dan gunakan rangkaian Docker Seterusnya, anda perlu memulakan bekas menggunakan rangkaian Docker. Anda boleh menggunakan arahan berikut untuk memulakan bekas dan menyambung ke rangkaian yang anda buat: Nota: --nama merujuk kepada menyatakan nama untuk bekas, --rangkaian merujuk kepada menentukan rangkaian untuk bekas, < ;nama_bekas> ialah nama bekas yang anda mahu jalankan, Langkah 3: Akses perkhidmatan melalui nama kontena Akhir sekali, anda boleh mengakses perkhidmatan menggunakan nama kontena. Jika anda telah menyambungkan bekas ke rangkaian Docker, anda boleh mengakses perkhidmatan menggunakan nama kontena. Contohnya, jika anda ingin mengakses bekas dengan nama kontena my_app, anda boleh mengakses perkhidmatan menggunakan: Nota: Anda tidak perlu menentukan nombor port kerana Rangkaian Docker sudah mendedahkan perkhidmatan kepada rangkaian tempatan. Kesimpulan Dengan kaedah di atas, anda boleh mengakses perkhidmatan di Docker. Pemetaan port membantu anda mendedahkan perkhidmatan kepada rangkaian awam, manakala rangkaian Docker membantu anda berkomunikasi dengan perkhidmatan lain dalam bekas. Memilih kaedah yang sesuai bergantung pada keperluan dan keadaan khusus anda. Apabila menggunakan Docker, pastikan anda mengikuti amalan terbaik keselamatan dan melindungi bekas dan perkhidmatan anda daripada serangan. Atas ialah kandungan terperinci Bagaimana untuk mengakses perkhidmatan buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!http://<hostname>:8080</p>
<p>Nota: di mana <nama hos> ialah nama atau IP komputer yang anda mahu alamat akses. </p>
<ol start="2"><li>Menggunakan Rangkaian Docker</li></ol>
<p>Selain menggunakan pemetaan port, Docker juga menyokong menggunakan Rangkaian Docker untuk mengakses perkhidmatan dalam bekas. Rangkaian Docker ialah rangkaian bekas yang membolehkan kontena berkomunikasi antara satu sama lain dan memudahkan kontena berkomunikasi dengan komputer luaran. Berikut ialah beberapa langkah untuk melakukan ini: </p>
<p>Langkah 1: Buat Rangkaian Docker </p>
<p>Mula-mula, anda perlu mencipta rangkaian Docker. Anda boleh menggunakan arahan berikut untuk mencipta rangkaian: </p>
<pre class="brush:php;toolbar:false">docker network create <network_name>
docker run --name <container_name> --network <network_name> -d <image_name>
http://my_app