Bagaimana untuk menentukan ip dalam docker
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:
- 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
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.
- 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
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:
- Buat rangkaian jambatan
Untuk mencipta rangkaian baharu bagi bekas Docker, gunakan arahan berikut:
docker network create --subnet=172.18.0.0/16 mybridge
Arahan ini akan mencipta rangkaian jambatan bernama mybridge dan menentukan subnetnya sebagai 172.18.0.0/16.
- 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
Perintah ini akan memulakan bekas Nginx bernama mynginx dalam rangkaian mybridge.
- 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
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!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

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.

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.

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)

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).
