Rumah Operasi dan penyelenggaraan Docker Bagaimana untuk melaksanakan komunikasi antara Dockers

Bagaimana untuk melaksanakan komunikasi antara Dockers

Apr 18, 2023 pm 02:07 PM

Dalam pembangunan perisian moden, Docker telah menjadi teknologi virtualisasi yang sangat popular, yang membolehkan pembangun membangun, menguji dan menggunakan dalam persekitaran yang berbeza. Ciri penting Docker ialah ia boleh dijalankan pada hos yang berbeza, jadi cara untuk melaksanakan komunikasi antara Dockers dalam persekitaran berbilang hos telah menjadi topik hangat.

Artikel ini akan memperkenalkan cara melaksanakan komunikasi antara hos Docker yang berbeza, termasuk:

  1. Konsep dan ciri rangkaian Docker
  2. Berjalan pada hos yang sama kaedah komunikasi bekas Docker;
  3. Kaedah komunikasi menjalankan bekas Docker pada hos yang berbeza
  4. Gunakan Docker Compose untuk mengurus komunikasi berbilang bekas.

1. Konsep dan ciri rangkaian Docker

Dalam Docker, rangkaian ialah subsistem bebas yang menyediakan keupayaan komunikasi untuk bekas yang berbeza. Ciri penting rangkaian Docker ialah mengasingkan bekas yang berbeza dalam rangkaian yang berbeza, dan komunikasi antara bekas mesti dicapai melalui rangkaian. Jenis rangkaian Docker biasa termasuk:

  1. mod jambatan: Mod lalai, semua bekas disambungkan ke rangkaian maya yang sama.
  2. Mod hos: Sambungkan bekas terus ke rangkaian fizikal hos dan bekas boleh berkomunikasi melalui alamat IP hos.
  3. Mod tindanan: digunakan untuk mencipta rangkaian maya terpencil antara berbilang hos Docker, yang boleh mencapai komunikasi kontena merentas hos.

Dalam Docker, komunikasi antara bekas yang berbeza juga boleh dicapai melalui rangkaian tersuai.

2. Kaedah komunikasi bekas Docker yang berjalan pada hos yang sama

Komunikasi antara bekas Docker yang berjalan pada hos yang sama adalah yang paling mudah dicapai. Secara lalai, rangkaian jambatan Docker membenarkan komunikasi antara semua bekas melalui alamat IPnya. Oleh itu, komunikasi antara bekas berbeza pada hos yang sama hanya perlu dilakukan menggunakan alamat IP bekas.

Dalam Docker, anda boleh menggunakan arahan berikut untuk melihat alamat IP bekas yang sedang berjalan:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name>
Salin selepas log masuk

Kod sampel untuk komunikasi antara bekas Docker pada hos yang sama adalah seperti berikut:

import requests

response = requests.get('http://<container_ip>:<port>/<api_endpoint>')
Salin selepas log masuk
Salin selepas log masuk

3 Kaedah komunikasi bekas Docker yang dijalankan pada hos yang berbeza

Apabila bekas Docker yang berbeza dijalankan pada hos yang berbeza, mereka tidak boleh berkomunikasi melalui alamat IP bekas itu kerana ia tidak lagi dimiliki ke rangkaian yang sama. Oleh itu, cara lain mesti digunakan untuk berkomunikasi antara mereka.

Dalam Docker, komunikasi kontena pada hos yang berbeza boleh dicapai dalam dua cara berikut:

  1. Gunakan Port Mapping untuk memetakan port aplikasi ke port hos, supaya Container pada yang lain hos boleh mengakses bekas melalui alamat IP dan port hos.
  2. Gunakan rangkaian Tindanan untuk menyambungkan bekas pada hos yang berbeza kepada rangkaian maya yang sama supaya mereka boleh berkomunikasi secara langsung melalui alamat IP bekas itu.

Kod sampel untuk menggunakan Pemetaan Port adalah seperti berikut:

import requests

response = requests.get('http://<host_ip>:<mapped_port>/<api_endpoint>')
Salin selepas log masuk

Apabila menggunakan rangkaian Tindanan untuk menyambungkan bekas pada hos yang berbeza, langkah berikut perlu dilakukan:

  1. Dayakan mod Swarm pada semua hos Docker: docker swarm init;
  2. Buat rangkaian Overlay pada hos Docker: docker network create -d overlay <network_name>
  3. Mulakan bekas dalam Overlay rangkaian: docker service create --name <service_name> --network <network_name> <image_name>.

Kod contoh untuk berkomunikasi antara satu sama lain dalam rangkaian Overlay adalah seperti berikut:

import requests

response = requests.get('http://<container_ip>:<port>/<api_endpoint>')
Salin selepas log masuk
Salin selepas log masuk

4 Gunakan Docker Compose untuk mengurus komunikasi berbilang bekas

Docker Compose ialah Alat untuk mengurus berbilang bekas Docker Ia boleh menentukan kaedah permulaan dan parameter berbilang bekas melalui fail YAML. Dalam Docker Compose, kaedah komunikasi antara bekas boleh dikonfigurasikan dalam fail YAML.

Berikut ialah contoh kod YAML yang menggunakan Docker Compose untuk mengurus komunikasi antara berbilang bekas:

version: '3'

services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: 'mydb'
      MYSQL_USER: 'root'
      MYSQL_PASSWORD: 'root'
      MYSQL_ROOT_PASSWORD: 'root'
    volumes:
      - ./db:/var/lib/mysql
    ports:
      - '3306:3306'
    networks:
      - my-network

  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
    networks:
      - my-network
    depends_on:
      - db

networks:
  my-network:
Salin selepas log masuk

Dalam contoh di atas, db ditambah dengan mentakrifkan rangkaian bernama "my- network" Bekas dan bekas web disambungkan ke rangkaian maya yang sama, dan Pemetaan Port digunakan untuk memetakan port 3306 MySQL ke port 3306 hos.

Ringkasan

Melalui pengenalan artikel ini, anda sepatutnya telah menguasai kaedah komunikasi antara hos Docker yang berbeza. Untuk komunikasi kontena pada hos yang sama, anda hanya perlu menggunakan alamat IP kontena untuk komunikasi kontena pada hos yang berbeza, anda boleh menggunakan rangkaian Pemetaan Port dan Tindanan. Di samping itu, menggunakan Docker Compose menjadikannya lebih mudah untuk mengurus komunikasi antara berbilang bekas.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komunikasi antara Dockers. 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.

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)

Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Apr 06, 2025 am 12:01 AM

Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Jilid Docker: Menguruskan data berterusan dalam bekas Jilid Docker: Menguruskan data berterusan dalam bekas Apr 04, 2025 am 12:19 AM

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Docker Security Hardening: Melindungi bekas anda dari kelemahan Docker Security Hardening: Melindungi bekas anda dari kelemahan Apr 05, 2025 am 12:08 AM

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

Menggunakan Docker dengan Linux: Panduan Komprehensif Menggunakan Docker dengan Linux: Panduan Komprehensif Apr 12, 2025 am 12:07 AM

Menggunakan Docker di Linux dapat meningkatkan kecekapan pembangunan dan penempatan. 1. Pasang Docker: Gunakan skrip untuk memasang Docker di Ubuntu. 2. Sahkan pemasangan: Jalankan Sudodockerrunhello-World. 3. Penggunaan Asas: Buat kontena Nginx Dockerrun-Namemy-Nginx-P8080: 80-Dnginx. 4. Penggunaan Lanjutan: Buat imej tersuai, bina dan lari menggunakan Dockerfile. 5. Pengoptimuman dan amalan terbaik: Ikuti amalan terbaik untuk menulis dockerfiles menggunakan pelbagai peringkat membina dan dockercompose.

Rangkaian Docker Lanjutan: Menguasai Jambatan, Rangkaian Host & Overlay Rangkaian Docker Lanjutan: Menguasai Jambatan, Rangkaian Host & Overlay Apr 03, 2025 am 12:06 AM

Docker menyediakan tiga mod rangkaian utama: rangkaian jambatan, rangkaian tuan rumah dan rangkaian overlay. 1. Rangkaian Jambatan sesuai untuk komunikasi antara konainer pada hos tunggal dan dilaksanakan melalui jambatan maya. 2. Rangkaian tuan rumah sesuai untuk senario di mana rangkaian berprestasi tinggi diperlukan, dan kontena secara langsung menggunakan timbunan rangkaian tuan rumah. 3. Rangkaian Overlay sesuai untuk kluster Dockerswarm Multi-Host, dan komunikasi silang host direalisasikan melalui lapisan rangkaian maya.

Cara membuat cermin di Docker Cara membuat cermin di Docker Apr 15, 2025 am 11:27 AM

Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

See all articles