Rumah >Operasi dan penyelenggaraan >Docker >Apakah kaedah komunikasi antara bekas dalam Docker?

Apakah kaedah komunikasi antara bekas dalam Docker?

WBOY
WBOYasal
2022-02-07 10:38:1012924semak imbas

Kaedah komunikasi antara bekas dalam Docker: 1. Gunakan ip bekas untuk mengakses 2. Gunakan "ip:port" hos untuk mengakses 3. Gunakan pautan untuk mewujudkan sambungan untuk komunikasi; "Rangkaian yang ditentukan pengguna" untuk berkomunikasi.

Apakah kaedah komunikasi antara bekas dalam Docker?

Persekitaran pengendalian tutorial ini: sistem linux7.3, versi docker-1.13.1, komputer Dell G3.

Apakah kaedah komunikasi antara bekas dalam Docker

1 Akses melalui IP bekas

Selepas bekas dimulakan semula, IP akan berubah. Mengakses melalui IP kontena bukanlah penyelesaian yang baik.

2. Akses melalui ip:port hos

Mengakses melalui ip:port hos hanya boleh bergantung pada proses mendengar pada port terdedah untuk komunikasi terhad.

3 Wujudkan sambungan melalui pautan (secara rasmi tidak disyorkan)

Apabila menjalankan bekas, nyatakan pautan parameter supaya bekas sumber dan bekas yang dipautkan boleh berkomunikasi antara satu sama lain, dan bekas yang diterima boleh Dapatkan beberapa data daripada bekas sumber, seperti pembolehubah persekitaran.

# 源容器:mysql
docker run -itd --name test-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#被链接容器 centos
docker run -itd --name test-centos --link test-mysql:mysql  centos /bin/bash
#进入test-centos
docker exec -it test-centos /bin/bash

Anda boleh masuk terus melalui nama pautan atau alias yang anda berikan semasa memaut:

Apakah kaedah komunikasi antara bekas dalam Docker?

Apakah kaedah komunikasi antara bekas dalam Docker?

melalui pautan Apabila bekas bersambung diwujudkan, bekas terpaut boleh ping bekas sumber, tetapi bukan sebaliknya.

Lihat pembolehubah persekitaran pada bekas terpaut

Apakah kaedah komunikasi antara bekas dalam Docker?

Bekas yang dipautkan akan mewarisi maklumat pembolehubah persekitaran bagi bekas sumber.

Tidak seperti entri hos dalam /etc/hosts, alamat IP yang disimpan dalam pembolehubah persekitaran tidak dikemas kini secara automatik jika bekas sumber dimulakan semula. Kami mengesyorkan menggunakan entri hos dalam /etc/hosts untuk menyelesaikan alamat IP bekas yang dipautkan.

Selain pembolehubah persekitaran, Docker menambah entri hos bekas sumber ke fail /etc/hosts.

Apakah kaedah komunikasi antara bekas dalam Docker?

Jika bekas sumber dimulakan semula, fail /etc/hosts pada bekas pautan akan dikemas kini secara automatik dengan alamat IP baharu bekas sumber, membenarkan komunikasi pautan diteruskan.

4. Cipta rangkaian jambatan melalui rangkaian yang ditentukan pengguna (disyorkan)

rangkaian docker, dan tetapkan bekas kepada rangkaian jambatan yang baru dibuat apabila docker dijalankan, supaya rangkaian jambatan yang sama Kontena dalam boleh mengakses satu sama lain.

Buat rangkaian

docker network create test-network

Apabila memulakan bekas, sertai rangkaian yang dibuat

docker run -it --network test-network --network-alias mysql  -e MYSQL_ROOT_PASSWORD=123 mysql:5.7

Mulakan bekas yang dipautkan

 docker run -it --network test-network --network-alias centos  centos /bin/bash

Apakah kaedah komunikasi antara bekas dalam Docker?

Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"

Atas ialah kandungan terperinci Apakah kaedah komunikasi antara bekas dalam Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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