Rangkaian kontena Docker di bawah Linux: Bagaimana untuk menyediakan sambungan rangkaian dan komunikasi antara bekas?

王林
Lepaskan: 2023-08-01 18:41:22
asal
1824 orang telah melayarinya

Rangkaian kontena docker di bawah Linux: Bagaimana untuk menyediakan sambungan rangkaian dan komunikasi antara bekas?

Apabila menggunakan Docker untuk penggunaan aplikasi, sambungan rangkaian dan komunikasi antara bekas adalah isu yang sangat penting. Artikel ini akan memperkenalkan cara menyediakan sambungan rangkaian bekas dalam persekitaran Linux dan menyediakan beberapa contoh kod biasa.

Terdapat berbilang mod rangkaian untuk dipilih dalam Docker, tiga yang paling biasa digunakan ialah: mod jambatan, mod hos dan mod rangkaian Tindanan. Dalam mod jambatan, Docker akan mencipta antara muka rangkaian maya untuk setiap bekas dan menyambungkan bekas melalui jambatan rangkaian kongsi. Dalam mod hos, bekas akan terus menggunakan antara muka rangkaian hos. Mod rangkaian Tindanan menyediakan penyelesaian untuk komunikasi kontena merentas hos.

Mula-mula, mari perkenalkan cara menyediakan sambungan rangkaian kontena menggunakan mod jambatan. Kita boleh menggunakan alat baris arahan Docker atau Docker Compose untuk mencapai ini.

Menggunakan alat baris arahan:

docker run -d --name container1 --network bridge image1
docker run -d --name container2 --network bridge image2
Salin selepas log masuk

Menggunakan Docker Compose:

version: '3'
services:
  container1:
    image: image1
    networks:
      - bridge
  container2:
    image: image2
    networks:
      - bridge
networks:
  bridge:
    driver: bridge
Salin selepas log masuk

Dalam contoh di atas, kami mencipta dua bekas container1 dan container2 dan menyambungkannya ke rangkaian yang dipanggil bridge. Dengan persediaan ini, bekas boleh berkomunikasi antara satu sama lain menggunakan nama bekas.

Berikut ialah contoh menyediakan sambungan rangkaian kontena menggunakan mod hos:

Menggunakan alat baris arahan:

docker run -d --name container1 --network host image1
docker run -d --name container2 --network host image2
Salin selepas log masuk

Menggunakan Docker Compose:

version: '3'
services:
  container1:
    image: image1
    networks:
      - host
  container2:
    image: image2
    networks:
      - host
networks:
  host:
    driver: host
Salin selepas log masuk

Dalam persediaan ini, bekas akan menggunakan antara muka rangkaian hos secara langsung, jadi mereka Komunikasi boleh dijalankan melalui alamat IP hos.

Akhir sekali, kami memperkenalkan tetapan untuk komunikasi antara bekas menggunakan mod rangkaian Tindanan. Mod ini memerlukan penggunaan menggunakan Docker Swarm.

Pertama, kita perlu memulakan Swarm:

docker swarm init
Salin selepas log masuk

Kemudian, kami mencipta rangkaian Tindanan:

docker network create -d overlay my-network
Salin selepas log masuk

Seterusnya, kami mencipta perkhidmatan dan menyambungkannya ke rangkaian:

docker service create --name service1 --network my-network image1
docker service create --name service2 --network my-network image2
Salin selepas log masuk

Menggunakan mod rangkaian Tindanan boleh mencapai rentas- hos Komunikasi kontena dan memastikan keselamatan dan kebolehpercayaan komunikasi.

Ringkasnya, artikel ini memperkenalkan kaedah menyediakan sambungan rangkaian dan komunikasi bekas Docker dalam persekitaran Linux, termasuk mod jambatan, mod hos dan mod rangkaian Tindanan. Kaedah ini boleh dipilih dan digunakan mengikut keperluan khusus untuk membantu kami mengurus rangkaian kontena dengan lebih baik apabila menggunakan Docker.

Contoh kod adalah untuk rujukan sahaja. Sila buat pelarasan dan konfigurasi yang sepadan mengikut situasi tertentu semasa penggunaan sebenar. Melalui tetapan rangkaian yang fleksibel, kami boleh membina sistem aplikasi kontena yang cekap dan boleh dipercayai dengan mudah.

Atas ialah kandungan terperinci Rangkaian kontena Docker di bawah Linux: Bagaimana untuk menyediakan sambungan rangkaian dan komunikasi antara bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!