Docker ialah teknologi kontena ringan yang digunakan secara meluas dalam pembangunan perisian, ujian dan persekitaran pengeluaran. Dengan bekas Docker, aplikasi dan kebergantungannya boleh dibungkus ke dalam bekas mudah alih untuk kegunaan mudah dalam persekitaran yang berbeza. Walau bagaimanapun, apabila menggunakan bekas Docker, kami mungkin perlu mengakses pelayan di dalam bekas Docker. Artikel ini akan memperkenalkan cara untuk mengakses pelayan di dalam Docker.
1. Gunakan perintah docker exec
Docker secara rasminya menyediakan arahan docker exec yang boleh melaksanakan arahan di dalam bekas yang sedang berjalan. Sintaks umum arahan ini adalah seperti berikut:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Antaranya, OPTIONS termasuk satu siri parameter, seperti -t (peruntukkan terminal pseudo), -i (simpan STDIN terbuka), dsb. CONTAINER ialah nama bekas atau ID arahan yang akan dilaksanakan, COMMAND ialah arahan yang akan dilaksanakan, dan ARG ialah parameter arahan.
Katakan kita ingin mengakses pelayan yang berjalan pada port 80 di dalam bekas bernama mycontainer Anda boleh mengikuti langkah berikut:
- Gunakan perintah docker exec untuk memasuki bekas: <.>
docker exec -it mycontainer /bin/bash
Laksanakan arahan di dalam bekas untuk mengakses pelayan: -
curl http://localhost:80
Dalam arahan di atas, Parameter -it digunakan untuk memperuntukkan terminal interaktif kepada bekas, dan /bin/bash ialah arahan shell untuk dijalankan. Jika klien curl dipasang di dalam bekas, kami boleh menggunakannya untuk mengakses pelayan.
2. Gunakan arahan port docker
Selain menggunakan arahan docker exec, kita juga boleh menggunakan arahan port docker untuk melihat pemetaan port di dalam bekas Docker. Sintaks umum arahan ini adalah seperti berikut:
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
Di mana, PRIVATE_PORT ialah port yang hendak dipetakan, PROTO ialah protokol pemetaan, seperti TCP atau UDP, dsb. Jika PROTO tidak dinyatakan, lalai ialah TCP.
Andaikan kita ingin mengakses port 80 di dalam bekas bernama mycontainer, anda boleh mengikuti langkah berikut:
Gunakan arahan port docker untuk melihat pemetaan port 80 dalam mycontainer bekas: -
docker port mycontainer 80
Arahan ini akan mengembalikan rentetan dalam bentuk:
0.0.0.0:32789
Antaranya, 32789 ialah dipetakan ke mycontainer Port 80 di dalam kontena.
Gunakan curl atau alatan klien lain pada hos untuk mengakses: -
curl http://localhost:32789
Dalam arahan di atas, localhost ialah nama hos, 32789 Ia adalah nombor port yang baru diperolehi daripada arahan port docker.
3 Gunakan arahan rangkaian docker
Jika bekas Docker berjalan dalam rangkaiannya sendiri, kita boleh menggunakan arahan rangkaian docker untuk menyambungkan bekas ke rangkaian hos atau bekas lain . Sintaks umum arahan ini adalah seperti berikut:
docker network connect [OPTIONS] NETWORK CONTAINER
Antaranya, OPTIONS termasuk satu siri parameter, seperti --alias (tetapkan alias untuk bekas), - -ip (tetapkan alamat IP untuk bekas) ) dan lain-lain. NETWORK ialah nama rangkaian atau ID untuk disambungkan dan CONTAINER ialah nama kontena atau ID untuk disambungkan.
Katakan kita ingin menyambungkan bekas bernama mycontainer ke rangkaian jambatan lalai dan biarkan ia mempunyai alias bernama pelayan web Anda boleh mengikuti langkah berikut:
Gunakan Perintah rangkaian docker menyambung. mycontainer ke rangkaian jambatan: -
docker network connect --alias webserver bridge mycontainer
Gunakan curl atau alatan klien lain pada hos untuk mengakses: -
curl http://webserver
Dalam arahan di atas, pelayan web ialah alias yang kami tetapkan untuk bekas, yang boleh diakses terus daripada hos.
Ringkasan
Mengakses pelayan dalaman bekas Docker ialah isu penting apabila menggunakan teknologi Docker Artikel ini memperkenalkan tiga kaedah untuk mencapai matlamat ini. Menggunakan arahan docker exec untuk melaksanakan perintah di dalam bekas adalah cara paling asas Melihat pemetaan port melalui arahan port docker juga merupakan kaedah yang mudah, dan menggunakan perintah rangkaian docker untuk menyambung ke rangkaian membolehkan akses yang lebih fleksibel ke pelayan di dalam. bekas itu. Dalam aplikasi sebenar, kita boleh memilih kaedah yang berbeza mengikut keperluan khusus untuk mengakses pelayan dengan mudah dan cepat di dalam bekas Docker.
Atas ialah kandungan terperinci Bagaimana untuk mengakses pelayan di Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!