我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢。下面介绍三种方法解决容器互访问题。
方式一、虚拟ip访问
安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问。
[root@33fcf82ab4dd /]# [root@CentOS ~]# ifconfig ...... docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:35ff:feac:66d8 prefixlen 64 scopeid 0x20<link> ether 02:42:35:ac:66:d8 txqueuelen 0 (Ethernet) RX packets 4018 bytes 266467 (260.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4226 bytes 33935667 (32.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ......
方式二、link
运行容器的时候加上参数link
运行第一个容器
docker run -it --name centos-1 docker.io/centos:latest
运行第二个容器
[root@CentOS ~]# docker run -it --name centos-2 --link centos-1:centos-1 docker.io/centos:latest
--link:参数中第一个centos-1是容器名,第二个centos-1是定义的容器别名(使用别名访问容器),为了方便使用,一般别名默认容器名。
测试结果如下:
[root@e0841aa13c5b /]# ping centos-1 PING centos-1 (172.17.0.7) 56(84) bytes of data. bytes from centos-1 (172.17.0.7): icmp_seq=1 ttl=64 time=0.210 ms bytes from centos-1 (172.17.0.7): icmp_seq=2 ttl=64 time=0.116 ms bytes from centos-1 (172.17.0.7): icmp_seq=3 ttl=64 time=0.112 ms bytes from centos-1 (172.17.0.7): icmp_seq=4 ttl=64 time=0.114 ms
方式三、创建bridge网络
1.安装好docker后,运行如下命令创建bridge网络:docker network create testnet
查询到新创建的bridge testnet。
2.运行容器连接到testnet网络。
使用方法:docker run -it --name 0eb63ddf9ae50481033acff196324cc7 ---network b0d21468eea93b0efd1cf4d7f2f90c42 --network-alias 0200124f4335dcc5d14cfe335a01183b ae200a4fe3dac143f803c60eaa5089f4
[root@CentOS ~]# docker run -it --name centos-1 --network testnet --network-alias centos-1 docker.io/centos:latest [root@CentOS ~]# docker run -it --name centos-2 --network testnet --network-alias centos-2 docker.io/centos:latest
3.从一个容器ping另外一个容器,测试结果如下:
[root@fafe2622f2af /]# ping centos-1 PING centos-1 (172.20.0.2) 56(84) bytes of data. bytes from centos-1.testnet (172.20.0.2): icmp_seq=1 ttl=64 time=0.158 ms bytes from centos-1.testnet (172.20.0.2): icmp_seq=2 ttl=64 time=0.108 ms bytes from centos-1.testnet (172.20.0.2): icmp_seq=3 ttl=64 time=0.112 ms bytes from centos-1.testnet (172.20.0.2): icmp_seq=4 ttl=64 time=0.113 ms
更多相关教程,请关注PHP中文网docker教程栏目。
Atas ialah kandungan terperinci docker中容器之间如何访问. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Docker dan Kubernet meningkatkan penggunaan aplikasi dan kecekapan pengurusan melalui orkestra kontena. 1.Docker membina imej melalui Dockerfile dan menjalankan bekas untuk memastikan konsistensi aplikasi. 2. Kubernetes menguruskan bekas melalui POD, penempatan dan perkhidmatan untuk mencapai penggunaan dan pengembangan automatik.

Docker dan Kubernet adalah pemimpin dalam kontena dan orkestra. Docker memberi tumpuan kepada pengurusan kitaran hayat kontena dan sesuai untuk projek kecil; Kubernet adalah baik pada orkestra kontena dan sesuai untuk persekitaran pengeluaran berskala besar. Gabungan kedua -duanya dapat meningkatkan kecekapan pembangunan dan penempatan.

Docker dan Linux adalah perlawanan yang sempurna kerana mereka dapat memudahkan pembangunan dan penggunaan aplikasi. 1) Docker menggunakan ruang nama dan cgroups Linux untuk melaksanakan pengasingan kontena dan pengurusan sumber. 2) Bekas Docker lebih cekap daripada mesin maya, mempunyai kelajuan permulaan yang lebih cepat, dan struktur hierarki cermin mudah dibina dan diedarkan. 3) Pada Linux, pemasangan dan penggunaan Docker sangat mudah, dengan hanya beberapa arahan. 4) Melalui DockerCompose, anda boleh mengurus dan menggunakan aplikasi berbilang kontain dengan mudah.

Perbezaan antara Docker dan Kubernet adalah bahawa Docker adalah platform kontena yang sesuai untuk projek kecil dan persekitaran pembangunan; Kubernet adalah sistem orkestra kontena yang sesuai untuk projek besar dan persekitaran pengeluaran. 1.Docker memudahkan penggunaan aplikasi dan sesuai untuk projek kecil dengan sumber yang terhad. 2. Kubernetes menyediakan keupayaan automasi dan skalabiliti, sesuai untuk projek besar yang memerlukan pengurusan yang cekap.

Gunakan Docker dan Kubernet untuk membina aplikasi berskala. 1) Buat imej kontena menggunakan Dockerfile, 2) Penyebaran dan perkhidmatan Kubernet melalui perintah Kubectl, 3) Gunakan HorizontalPodautoscaler untuk mencapai skala automatik, dengan itu membina seni bina aplikasi yang cekap dan berskala.

Perbezaan utama antara Docker dan Kubernet adalah bahawa Docker digunakan untuk kontena, manakala kubernet digunakan untuk orkestra kontena. 1.Docker menyediakan persekitaran yang konsisten untuk membangun, menguji dan menggunakan aplikasi, dan melaksanakan pengasingan dan batasan sumber melalui bekas. 2. Kubernetes menguruskan aplikasi kontena, menyediakan fungsi penempatan, pengembangan dan pengurusan automatik, dan menyokong pengimbangan beban dan penskalaan automatik. Gabungan kedua -duanya dapat meningkatkan penggunaan aplikasi dan kecekapan pengurusan.

Memasang dan mengkonfigurasi Docker pada Linux memerlukan memastikan bahawa sistem adalah versi 64-bit dan kernel 3.10 dan ke atas, gunakan perintah "sudoapt-getupdate" dan pasangkannya dengan perintah "sudoapt-getupdate" dan sahkan dengan "sudoapt-getdate" dan. Docker menggunakan ruang nama dan kumpulan kawalan kernel Linux untuk mencapai pengasingan kontena dan batasan sumber. Imej adalah templat baca sahaja, dan bekas boleh diubahsuai. Contoh penggunaan termasuk menjalankan pelayan Nginx dan membuat imej dengan dockerfiles tersuai. biasa

Alasan untuk menggunakan Docker adalah bahawa ia menyediakan persekitaran yang cekap, mudah alih dan konsisten untuk membungkus, mengedarkan, dan menjalankan aplikasi. 1) Docker adalah platform kontena yang membolehkan pemaju untuk membungkus aplikasi dan kebergantungan mereka ke dalam bekas ringan, mudah alih. 2) Ia berdasarkan teknologi kontena Linux dan sistem fail bersama untuk memastikan permulaan yang cepat dan operasi yang cekap. 3) Docker menyokong pembinaan pelbagai peringkat, mengoptimumkan saiz imej dan kelajuan penempatan. 4) Menggunakan Docker dapat memudahkan proses pembangunan dan penempatan, meningkatkan kecekapan dan memastikan konsistensi di seluruh persekitaran.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
