Contoh Jaringan Dasar tentang Cara Menghubungkan Kontainer Docker

Contoh Jaringan Dasar tentang Cara Menghubungkan Kontainer Docker

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
Menghubungkan dua wadah Docker bersama -sama melalui jaringan di Linux Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
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



  1. 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.

  2. 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 digunakan Sandbox1. Selanjutnya, The --tautan Bendera akan memungkinkan wadah induk untuk mengakses layanan apa pun yang berjalan Sandbox1 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 disediakan Sandbox1 nama kontainer yang ingin kami tautkan. Argumen kedua juga Sandbox1, adalah alias internal yang digunakan oleh Sandbox2 untuk menyelesaikan Sandbox1Konfigurasi jaringan menggunakan /etc/host File Konfigurasi:



    # grep sandbox1 /etc /hosts 172.17.0.41 Sandbox1 
  3. Tergantung pada konfigurasi port wadah anak Anda yang digunakan, Anda juga dapat mengekstrak Sandbox1Konfigurasi 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 
  4. 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 
Kami dapat berkomunikasi dari wadah Sandbox1 ke Sandbox2, sebagaimana dibuktikan dengan perintah ping

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