Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Docker dan Linux: Bagaimana untuk melaksanakan komunikasi rangkaian antara bekas?

Docker dan Linux: Bagaimana untuk melaksanakan komunikasi rangkaian antara bekas?

Jul 28, 2023 pm 11:38 PM
docker networking container communication linux bridge

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.

  1. Mod rangkaian dalam Docker
    Docker menyediakan empat mod rangkaian berbeza untuk menyokong komunikasi rangkaian kontena, iaitu:
  2. Mod jambatan (jambatan): Dalam mod lalai, bekas bersambung ke rangkaian hos melalui jambatan maya.
  3. Mod hos (hos): Bekas menggunakan rangkaian hos secara langsung tanpa pengasingan rangkaian.
  4. mod tiada: Bekas tidak mempunyai antara muka rangkaian dan diasingkan sepenuhnya daripada rangkaian luaran.
  5. Mod bekas (bekas): Bekas berkongsi ruang nama rangkaian dan boleh terus mengakses bekas lain.
  6. 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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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"]
Salin selepas log masuk

Fail Docker untuk bekas db:

FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y mysql-server
EXPOSE 3306
CMD ["mysqld"]
Salin selepas log masuk

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();
        }
    }
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Mar 17, 2025 pm 05:25 PM

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.

Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Mar 17, 2025 pm 05:28 PM

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.

Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Mar 17, 2025 pm 05:31 PM

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

Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

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.

Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Mar 17, 2025 pm 05:32 PM

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

Operasi Linux Utama: Panduan Pemula Operasi Linux Utama: Panduan Pemula Apr 09, 2025 pm 04:09 PM

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.

Cara Mentafsirkan Hasil Output Debian Sniffer Cara Mentafsirkan Hasil Output Debian Sniffer Apr 12, 2025 pm 11:00 PM

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

Cara memeriksa konfigurasi OpenSSL Debian Cara memeriksa konfigurasi OpenSSL Debian Apr 12, 2025 pm 11:57 PM

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

See all articles