Contoh Jaringan Dasar tentang Cara Menghubungkan Kontainer Docker
- 878
- 207
- John Ratke
Salah satu dari banyak fitur yang diinginkan yang dibangun langsung ke Docker adalah jaringan. Fitur jaringan Docker dapat diakses dengan menggunakan a --tautan
Bendera yang memungkinkan untuk menghubungkan sejumlah wadah Docker tanpa perlu mengekspos port internal wadah ke dunia luar.
Dalam panduan ini, Anda akan belajar cara jaringan dua atau lebih wadah Docker bersama -sama pada sistem Linux melalui instruksi baris perintah. Ini akan bekerja pada distribusi Linux apa pun. Lihat instruksi langkah demi langkah di bawah ini untuk mengetahui caranya.
Dalam tutorial ini Anda akan belajar:
- Cara jaringan wadah docker bersama
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distro Linux apa pun |
Perangkat lunak | Buruh pelabuhan |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah. |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Menghubungkan Wadah Docker Melalui Jaringan
- Dalam konfigurasi ini Anda akan belajar cara menautkan dua atau lebih wadah Docker bersama -sama menggunakan teknik jaringan Docker sederhana. Kita dapat mulai dengan penyebaran wadah Docker pertama kami, bernama
Sanbox1
, yang nanti kita akan buat tautan jaringan:# Docker Run -It --Name Sandbox1 -H Sanbox1 LinuxConfig/Sandbox/Bin/Bash
Tidak ada yang baru tentang perintah di atas kecuali untuk dicatat bahwa kami tidak mengekspos port jaringan apa pun meskipun niat kami adalah untuk mengakses layanan (SSH, koneksi database, dll.) melalui nomor port yang relevan.
- Perintah Linux berikut akan menggunakan satu detik dan kali ini wadah Docker induk bernama
Sandbox2
. Kami juga akan menggunakan a--tautan
Bendera yang akan membuat hubungan orangtua-anak dengan wadah yang sebelumnya digunakanSandbox1
. Selanjutnya, The--tautan
Bendera akan memungkinkan wadah induk untuk mengakses layanan apa pun yang berjalanSandbox1
wadah melalui nomor port yang sesuai tanpa wadah anak perlu mengekspos port apa pun ke dunia luar.# Docker Run -It --Name Sandbox2 -H Sandbox2 - -link Sandbox1: Sandbox1 LinuxConfig/Sandbox/Bin/Bash
Perintah Docker di atas menggunakan
--tautan
Bendera yang mengharapkan dua argumen yang dipisahkan oleh usus besar. Argumen pertama diharapkan menjadi ID kontainer atau seperti dalam kasus kami yang disediakanSandbox1
nama kontainer yang ingin kami tautkan. Argumen kedua jugaSandbox1
, adalah alias internal yang digunakan olehSandbox2
untuk menyelesaikanSandbox1
Konfigurasi jaringan menggunakan/etc/host
File Konfigurasi:
# grep sandbox1 /etc /hosts 172.17.0.41 Sandbox1
- Tergantung pada konfigurasi port wadah anak Anda yang digunakan, Anda juga dapat mengekstrak
Sandbox1
Konfigurasi dari variabel lingkungan sistem. Misalnya:# hostName env = istilah sandbox2 = xterm sandbox1_port = tcp: // 172.17.0.37: 7555 Sandbox1_port_7555_tcp = tcp: // 172.17.0.37: 7555 path =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin pwd =/sandbox1_port_7555_tcp_addr = 172.17.0.37 Sandbox1_port_7555_tcp_proto = tcp shlvl = 1 home =/root sandbox1_name =/sandbox2/sandbox1 sandbox1_port_75555_tcp_port = 7555 _ =/usr/bin/env_tcp_port = 7555 _ =/usr/bin/bin/enV
- Dengan cara ini kita bisa menggunakan alias wadah anak kita untuk menghubungkannya dari wadah induk
Sandbox2
Tanpa perlu menggunakan kode Hardcode IP -nya:# ping -c 1 sandbox1 ping sandbox1 (172.17.0.41): 56 byte data 64 byte dari 172.17.0.41: icmp_seq = 0 ttl = 64 waktu = 0.071 MS --- Sandbox1 Ping Statistics --- 1 paket yang dikirimkan, 1 paket yang diterima, 0% Paket Kehilangan Bulat Min/AVG/MAX/STDDEV = 0.071/0.071/0.071/0.000 ms
dan juga mengakses port dan layanan port apa pun:
# nmap -p 22 Sandbox1 Mulai NMAP 6.47 (http: // nmap.org) di 2015-05-18 08:58 Laporan pemindaian UTC NMAP untuk Sandbox1 (172.17.0.41) Host sudah habis (0.Latensi 000090). Layanan Port State 22/TCP Open SSH MAC Alamat: 02: 42: AC: 11: 00: 29 (Tidak Diketahui) NMAP Selesai: 1 Alamat IP (1 Host Up) dipindai dalam 0.50 detik
Hanya itu yang ada untuk itu. Dua wadah kami sekarang dapat berkomunikasi satu sama lain dan layanan seperti pekerjaan SSH di antara mereka. Anda dapat menerapkan konfigurasi yang sama ini ke dua atau lebih wadah Docker yang Anda butuhkan untuk jaringan bersama.
Menutup pikiran
Dalam panduan ini, kami melihat cara menghubungkan wadah Docker bersama pada sistem Linux. Ini adalah tugas yang relatif mendasar yang difasilitasi melalui Docker --tautan
pilihan. Memiliki kemampuan untuk jaringan dua atau lebih wadah Docker bersama -sama meningkatkan kekuatan dan kegunaan Docker secara substansial.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Cara membuat, mengelola, dan mengekspos layanan di Kubernetes
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Cara Terhubung ke Docker Container Via SSH
- Cara membuat tumpukan lampu berbasis Docker menggunakan Docker di…
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Cara mengatur atau mengganti bendera partisi boot di linux
- Cara menampilkan/memeriksa port terbuka di ubuntu linux
- Cara menggunakan file sebagai kunci perangkat luks
- Instal Arch Linux di VMware Workstation
- « Cara menghapus semua wadah Docker menggunakan satu perintah
- Menghapus baris duplikat dari file teks menggunakan baris perintah Linux »