Rumah > Operasi dan penyelenggaraan > Docker > Bagaimana untuk menentukan ip dalam docker

Bagaimana untuk menentukan ip dalam docker

PHPz
Lepaskan: 2023-04-19 13:50:20
asal
6705 orang telah melayarinya

Dengan populariti pengkomputeran awan dan teknologi kontena, Docker telah menjadi penyelesaian kontena yang popular. Memandangkan bekas Docker menggunakan alamat IP mesin hos secara lalai, dalam beberapa kes adalah perlu untuk menentukan alamat IP khusus untuk bekas Docker. Dalam artikel ini, kita akan membincangkan cara untuk menentukan alamat IP dalam bekas Docker.

Peruntukan alamat IP untuk bekas Docker

Dalam Docker, alamat IP bekas diperuntukkan secara dinamik oleh daemon Docker. Secara lalai, ia menggunakan alamat IP hos. Dalam kes ini, semua bekas Docker boleh berkomunikasi melalui alamat IP hos.

Walaupun tetapan lalai ini mencukupi untuk kebanyakan aplikasi, dalam beberapa kes anda mungkin perlu menentukan alamat IP statik untuk bekas Docker anda.

Nyatakan alamat IP untuk bekas Docker

Terdapat dua cara untuk menentukan alamat IP statik untuk bekas Docker. Anda boleh menyambungkan bekas Docker ke rangkaian fizikal hos melalui profil rangkaian VLAN atau macvlan dan mengkonfigurasinya untuk menggunakan alamat IP statik. Selain itu, anda boleh menggunakan mod rangkaian jambatan untuk menyediakan rangkaian anda sendiri untuk bekas dan kemudian mengkonfigurasinya untuk menggunakan alamat IP statik.

Kaedah 1: Gunakan rangkaian VLAN atau macvlan

Rangkaian VLAN dan macvlan ialah konsep LAN maya dan LAN fizikal masing-masing. Mereka membenarkan anda menyambungkan bekas Docker ke rangkaian fizikal hos dan memberikannya alamat IP statik. Kelebihan utama pendekatan ini ialah bekas Docker dan mesin hos berkongsi rangkaian yang sama, jadi bekas boleh berkomunikasi secara langsung dengan peranti luaran.

Langkah-langkah untuk menggunakan rangkaian VLAN atau macvlan adalah seperti berikut:

  1. Buat rangkaian VLAN atau macvlan

Untuk menyambungkan bekas Docker ke rangkaian fizikal, anda mesti membuat rangkaian VLAN atau macvlan dahulu. Anda boleh mencipta rangkaian VLAN menggunakan arahan berikut:

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
Salin selepas log masuk

Perintah ini akan mencipta rangkaian VLAN bernama mynetwork, yang menggunakan subnet 192.168.1.0/24 dan get laluan 192.168.1.1. Selain itu, ia menyatakan bahawa antara muka rangkaian induknya ialah eth0. Dalam contoh ini, eth0 ialah antara muka rangkaian pada mesin hos.

  1. Buat bekas Docker dan sambungkannya ke rangkaian VLAN atau macvlan

Seterusnya, anda perlu mencipta bekas Docker dalam rangkaian VLAN atau macvlan. Gunakan arahan berikut untuk mencipta bekas Docker dan sambungkannya ke rangkaian mynetwork:

docker run -itd --name mycontainer --network mynetwork --ip 192.168.1.10 busybox
Salin selepas log masuk

Perintah ini akan mencipta bekas Docker bernama mycontainer dan menyambungkannya ke rangkaian mynetwork. Selain itu, ia memberikan alamat IP statik 192.168.1.10 kepada bekas.

Kini anda boleh berkomunikasi dengan bekas mycontainer tanpa menggunakan alamat IP hos. Selain itu, peranti lain boleh mengakses bekas ini melalui alamat IP statik 192.168.1.10.

Kaedah 2: Gunakan rangkaian jambatan

Rangkaian jambatan ialah salah satu mod rangkaian yang biasa digunakan dalam Docker. Ia membolehkan anda membuat rangkaian baharu untuk bekas Docker dan mengkonfigurasinya untuk menggunakan alamat IP statik. Menggunakan pendekatan ini, bekas Docker diasingkan sepenuhnya dan tidak boleh berkongsi rangkaian dengan hos atau bekas lain.

Langkah-langkah untuk menggunakan rangkaian jambatan adalah seperti berikut:

  1. Buat rangkaian jambatan

Untuk mencipta rangkaian baharu bagi bekas Docker, gunakan arahan berikut:

docker network create --subnet=172.18.0.0/16 mybridge
Salin selepas log masuk

Arahan ini akan mencipta rangkaian jambatan bernama mybridge dan menentukan subnetnya sebagai 172.18.0.0/16.

  1. Jalankan aplikasi web yang berfungsi dalam bekas Docker

Seterusnya, anda perlu menjalankan aplikasi web yang berfungsi dalam bekas Docker. Mulakan bekas pelayan web nginx menggunakan arahan berikut:

docker run -itd --name mynginx --network mybridge nginx
Salin selepas log masuk

Perintah ini akan memulakan bekas Nginx bernama mynginx dalam rangkaian mybridge.

  1. Tentukan alamat IP statik untuk bekas Docker

Sekarang, anda perlu menentukan alamat IP statik untuk bekas mynginx. Berikan alamat IP statik kepada bekas menggunakan arahan berikut:

docker network connect --ip 172.18.0.2 mybridge mynginx
Salin selepas log masuk

Perintah ini akan menetapkan alamat IP 172.18.0.2 kepada bekas mynginx. Anda kini boleh mengakses menggunakan alamat IP ini seperti mana-mana alamat IP awam yang lain.

Ringkasan

Alamat IP bekas Docker diberikan secara dinamik oleh daemon Docker. Secara lalai, ia menggunakan alamat IP hos. Walau bagaimanapun, dalam beberapa kes, anda mungkin perlu menentukan alamat IP statik untuk bekas Docker anda. Kami telah membincangkan dua kaedah berbeza, anda boleh menyambungkan bekas Docker ke rangkaian fizikal hos menggunakan rangkaian VLAN atau macvlan dan tetapkannya kepada alamat IP statik, atau gunakan mod rangkaian jambatan untuk menyediakan rangkaiannya sendiri untuk bekas dan konfigurasikannya Untuk menggunakan alamat IP statik. Kini anda boleh memilih kaedah yang sesuai dengan keperluan anda untuk menetapkan alamat IP tertentu kepada bekas Docker.

Atas ialah kandungan terperinci Bagaimana untuk menentukan ip dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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