


Docker dan Linux: Bagaimana untuk melaksanakan komunikasi rangkaian antara bekas?
Docker dan Linux: Bagaimana untuk melaksanakan komunikasi rangkaian antara bekas?
Petikan:
Teknologi kontena memainkan peranan penting dalam pembangunan dan penggunaan aplikasi moden. Dengan menggunakan teknologi kontena, kami boleh membungkus aplikasi dan kebergantungannya ke dalam bekas bebas, dengan itu memastikan kemudahalihan dan ketekalan aplikasi. Walau bagaimanapun, apabila kita perlu menyambungkan berbilang bekas untuk membolehkan komunikasi rangkaian, mengkonfigurasi komunikasi rangkaian antara bekas menjadi sangat penting. Artikel ini akan memperkenalkan cara melaksanakan komunikasi rangkaian antara bekas dalam persekitaran Docker dan Linux.
- Mod rangkaian dalam Docker
Docker menyediakan empat mod rangkaian berbeza untuk menyokong komunikasi rangkaian kontena, iaitu: - Mod jambatan (jambatan): Dalam mod lalai, bekas bersambung ke rangkaian hos melalui jambatan maya.
- Mod hos (hos): Bekas menggunakan rangkaian hos secara langsung tanpa pengasingan rangkaian.
- mod tiada: Bekas tidak mempunyai antara muka rangkaian dan diasingkan sepenuhnya daripada rangkaian luaran.
- Mod bekas (bekas): Bekas berkongsi ruang nama rangkaian dan boleh terus mengakses bekas lain.
- Contoh komunikasi rangkaian antara bekas
Seterusnya, kami akan menggunakan contoh mudah untuk menunjukkan cara melaksanakan komunikasi rangkaian antara bekas dalam persekitaran Docker dan Linux. Katakan kita mempunyai dua bekas, satu bekas web dan satu lagi bekas db Kami berharap bekas web boleh mengakses pangkalan data yang disediakan oleh bekas db.
Pertama, kita perlu mencipta rangkaian untuk komunikasi antara kontena. Kita boleh mencipta rangkaian jambatan bernama my_network menggunakan arahan berikut:
$ docker network create my_network
Seterusnya, kita perlu mencipta dan menjalankan bekas web untuk menyediakan perkhidmatan web. Kita boleh menggunakan arahan berikut untuk mencipta bekas bernama web_container dan menyambungkannya ke rangkaian_my_network:
$ docker run -d --name web_container --network my_network web_image
Di mana, web_image ialah imej bekas web yang kami bina sendiri.
Kemudian, kita perlu mencipta dan menjalankan bekas db untuk menyediakan perkhidmatan pangkalan data. Kita boleh menggunakan arahan berikut untuk mencipta bekas bernama db_container dan menyambungkannya ke rangkaian my_network:
$ docker run -d --name db_container --network my_network db_image
Antaranya, db_image ialah imej bekas db yang kami bina sendiri.
Kini kami telah mencipta dua bekas dan menyambungkannya ke rangkaian yang sama. Seterusnya, kita perlu memastikan bahawa bekas web boleh mengakses pangkalan data yang disediakan oleh bekas db.
Dalam bekas web, kita boleh menggunakan nama db_container untuk mengaksesnya. Sebagai contoh, kita boleh menggunakan rentetan sambungan berikut dalam kod dalam bekas web untuk menyambung ke pangkalan data:
jdbc:mysql://db_container:3306/my_database
Dalam rentetan sambungan ini, db_container ialah nama bekas db, 3306 ialah nombor port lalai pangkalan data, dan my_database ialah nama pangkalan data .
Melalui langkah di atas, kami telah berjaya melaksanakan komunikasi rangkaian antara bekas web dan bekas db. Bekas web boleh mengakses perkhidmatan pangkalan data yang disediakan oleh bekas db melalui nama bekas.
Kesimpulan:
Dalam persekitaran Docker dan Linux, kami boleh mencapai komunikasi rangkaian antara bekas dengan mengkonfigurasi mod rangkaian dan mencipta rangkaian. Dengan menyediakan sambungan rangkaian dengan betul, kami boleh mewujudkan saluran komunikasi antara bekas, membolehkan penggunaan berbilang bekas dan seni bina aplikasi yang diedarkan.
Contoh kod:
Fail Docker untuk bekas web:
FROM ubuntu:latest RUN apt-get update RUN apt-get install -y apache2 EXPOSE 80 CMD ["apache2ctl", "-D", "FOREGROUND"]
Fail Docker untuk bekas db:
FROM ubuntu:latest RUN apt-get update RUN apt-get install -y mysql-server EXPOSE 3306 CMD ["mysqld"]
Sampel kod Java dalam bekas web:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://db_container:3306/my_database"; String user = "root"; String password = "password"; try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement()) { String query = "SELECT * FROM my_table"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { System.out.println(rs.getString("column1")); } } catch (SQLException e) { e.printStackTrace(); } } }
Di atas adalah mengenai cara melaksanakan komunikasi rangkaian dan persekitaran Linux dalam Docker dan contoh. Dengan konfigurasi rangkaian dan tetapan sambungan yang betul, kami boleh berkomunikasi dengan mudah antara bekas dan membina seni bina aplikasi yang lebih fleksibel dan berskala.
Atas ialah kandungan terperinci Docker dan Linux: Bagaimana untuk melaksanakan komunikasi rangkaian antara bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini menerangkan cara menggunakan Ekspresi Biasa (Regex) di Linux untuk pencocokan corak, carian fail, dan manipulasi teks, memperincikan sintaks, arahan, dan alat seperti grep, sed, dan awk.

Artikel ini membincangkan menggunakan Top, HTOP, dan VMSTAT untuk memantau prestasi sistem Linux, memperincikan ciri unik dan pilihan penyesuaian mereka untuk pengurusan sistem yang berkesan.

Artikel ini menyediakan panduan untuk menubuhkan dua faktor Pengesahan (2FA) untuk SSH di Linux menggunakan Google Authenticator, perincian pemasangan, konfigurasi, dan langkah penyelesaian masalah. Ia menyoroti manfaat keselamatan 2FA, seperti Sec yang dipertingkatkan

Artikel membincangkan menguruskan pakej perisian di Linux menggunakan APT, YUM, dan DNF, yang meliputi pemasangan, kemas kini, dan penyingkiran. Ia membandingkan fungsi dan kesesuaian mereka untuk pengagihan yang berbeza.

Artikel ini menerangkan cara menguruskan keistimewaan sudo di Linux, termasuk pemberian, pembatalan, dan amalan terbaik untuk keselamatan. Fokus utama adalah pada penyuntingan /etc /sudoers dengan selamat dan mengehadkan akses.Character Count: 159

Pemula Linux harus menguasai operasi asas seperti pengurusan fail, pengurusan pengguna dan konfigurasi rangkaian. 1) Pengurusan Fail: Gunakan arahan MKDIR, Touch, LS, RM, MV, dan CP. 2) Pengurusan Pengguna: Gunakan perintah USERADD, PASSWD, USERDEL, dan USERMOD. 3) Konfigurasi Rangkaian: Gunakan perintah IFConfig, Echo, dan UFW. Operasi ini adalah asas pengurusan sistem Linux, dan menguasai mereka dengan berkesan dapat menguruskan sistem.

DebiansNiffer adalah alat sniffer rangkaian yang digunakan untuk menangkap dan menganalisis cap waktu paket rangkaian: Memaparkan masa untuk penangkapan paket, biasanya dalam beberapa saat. Alamat IP Sumber (SourceIP): Alamat rangkaian peranti yang menghantar paket. Alamat IP Destinasi (DestinationIP): Alamat rangkaian peranti yang menerima paket data. Sourceport: Nombor port yang digunakan oleh peranti yang menghantar paket. Destinatio

Artikel ini memperkenalkan beberapa kaedah untuk memeriksa konfigurasi OpenSSL sistem Debian untuk membantu anda dengan cepat memahami status keselamatan sistem. 1. Sahkan versi OpenSSL terlebih dahulu, sahkan sama ada OpenSSL telah dipasang dan maklumat versi. Masukkan arahan berikut di terminal: Jika OpenSslversion tidak dipasang, sistem akan meminta ralat. 2. Lihat fail konfigurasi. Fail konfigurasi utama OpenSSL biasanya terletak di /etc/ssl/openssl.cnf. Anda boleh menggunakan editor teks (seperti nano) untuk melihat: Sudonano/etc/ssl/openssl.cnf Fail ini mengandungi maklumat konfigurasi penting seperti kunci, laluan sijil, dan algoritma penyulitan. 3. Menggunakan OPE
