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.
Persekitaran pengendalian tutorial ini: sistem linux7.3, versi docker-1.13.1, komputer Dell G3.
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:
melalui pautan Apabila bekas bersambung diwujudkan, bekas terpaut boleh ping bekas sumber, tetapi bukan sebaliknya.
Lihat pembolehubah persekitaran pada bekas terpaut
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.
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
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!