Contoh rangkaian asas mengenai cara menghubungkan bekas Docker

Contoh rangkaian asas mengenai cara menghubungkan bekas Docker

Salah satu daripada banyak ciri yang diinginkan yang dibina terus ke Docker adalah rangkaian. Ciri rangkaian Docker boleh diakses dengan menggunakan a --pautan Bendera yang membolehkan untuk menyambungkan sebilangan bekas Docker tanpa perlu mendedahkan pelabuhan dalaman bekas ke dunia luar.

Dalam panduan ini, anda akan belajar bagaimana untuk rangkaian dua atau lebih bekas Docker bersama -sama pada sistem Linux melalui arahan baris arahan. Ini akan berfungsi pada sebarang taburan Linux. Lihat arahan langkah demi langkah di bawah untuk mengetahui bagaimana.

Dalam tutorial ini anda akan belajar:

  • Cara Rangkaian Docker Containers Bersama
Menghubungkan Dua Bekas Docker Bersama Melalui Rangkaian di Linux Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Mana -mana distro Linux
Perisian Docker
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Menghubungkan bekas Docker melalui rangkaian



  1. Dalam konfigurasi ini, anda akan belajar bagaimana menghubungkan dua atau lebih bekas Docker bersama -sama menggunakan teknik rangkaian Docker yang mudah. Kita boleh mulakan dengan penggunaan bekas Docker pertama kita, yang dinamakan sanbox1, yang mana kami akan membuat pautan rangkaian:
    # Docker Run -It -Nama Sandbox1 -H SANBOX1 Linuxconfig/Sandbox/Bin/Bash 

    Tidak ada yang baru mengenai perintah di atas kecuali untuk diperhatikan bahawa kami tidak mendedahkan mana -mana port rangkaian walaupun niat kami adalah untuk mengakses perkhidmatan (SSH, sambungan pangkalan data, dll.) melalui nombor port yang berkaitan.

  2. Perintah Linux berikut akan menggunakan kedua dan kali ini bekas Docker ibu bapa bernama Sandbox2. Kami juga akan menggunakan a --pautan Bendera yang akan mewujudkan hubungan ibu bapa dan kanak-kanak yang dipanggil dengan bekas yang digunakan sebelumnya Sandbox1. Tambahan pula, --pautan Bendera akan membolehkan bekas induk mengakses sebarang perkhidmatan yang dijalankan Sandbox1 bekas melalui nombor port yang sepadan tanpa keperluan bekas kanak -kanak untuk mendedahkan mana -mana pelabuhan ke dunia luar.
    # Docker Run -It -Name Sandbox2 -H Sandbox2 -Link Sandbox1: Sandbox1 Linuxconfig/Sandbox/Bin/Bash 

    Perintah Docker di atas menggunakan --pautan Bendera yang mengharapkan dua argumen dipisahkan oleh kolon. Hujah pertama dijangka menjadi ID kontena atau seperti dalam kes kami yang dibekalkan Sandbox1 Nama kontena yang ingin kami simpan. Hujah kedua, juga Sandbox1, adalah alias dalaman yang digunakan oleh Sandbox2 untuk menyelesaikan Sandbox1Konfigurasi rangkaian menggunakan /etc/hos Fail Konfigurasi:



    # grep sandbox1 /etc /host 172.17.0.41 Sandbox1 
  3. Bergantung pada konfigurasi pelabuhan bekas anak anda yang digunakan, anda juga boleh mengekstrak Sandbox1Konfigurasi dari pembolehubah persekitaran sistem. Sebagai contoh:
    # env hostname = sandbox2 term = 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_7555_TCP_PORT = 7555 _ =/usr/bin/enN 
  4. Dengan cara ini kita hanya boleh menggunakan alias bekas anak kita untuk menyambungnya dari bekas induk Sandbox2 Tanpa keperluan untuk mengodkan alamat IPnya:
    # ping -c 1 sandbox1 ping sandbox1 (172.17.0.41): 56 bait data 64 bait dari 172.17.0.41: icmp_seq = 0 ttl = 64 time = 0.071 MS --- Sandbox1 Ping Statistik --- 1 paket dihantar, 1 paket diterima, 0% kehilangan paket bulat min/avg/max/stddev = 0.071/0.071/0.071/0.000 ms 


    Dan juga mengakses mana -mana pelabuhan dan perkhidmatan pelabuhan:

    # nmap -p 22 sandbox1 bermula nmap 6.47 (http: // nmap.org) pada 2015-05-18 08:58 UTC NMAP Scan Report untuk Sandbox1 (172.17.0.41) Hos naik (0.Latensi 000090s). Perkhidmatan Negeri Port 22/TCP Terbuka SSH MAC Alamat: 02: 42: AC: 11: 00: 29 (tidak diketahui) NMAP DONE: 1 IP Alamat (1 Host UP) diimbas dalam 0.50 saat 
Kami dapat berkomunikasi dari bekas Sandbox1 ke Sandbox2, seperti yang dibuktikan oleh arahan ping

Itu sahaja yang ada padanya. Dua bekas kami kini boleh berkomunikasi antara satu sama lain dan perkhidmatan seperti kerja SSH di antara mereka. Anda boleh menggunakan konfigurasi yang sama ke mana -mana dua atau lebih bekas Docker yang anda perlukan untuk rangkaian bersama.

Pemikiran penutupan

Dalam panduan ini, kita melihat cara menghubungkan bekas Docker bersama -sama pada sistem Linux. Ini adalah tugas yang agak asas yang difasilitasi melalui Docker --pautan pilihan. Mempunyai keupayaan untuk rangkaian dua atau lebih bekas Docker bersama -sama meningkatkan kuasa dan kegunaan docker dengan ketara.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Cara membuat, mengurus, dan mendedahkan perkhidmatan di Kubernetes
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara menyambung ke bekas docker melalui ssh
  • Cara membuat timbunan lampu berasaskan Docker menggunakan Docker pada ..
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Cara menetapkan atau menukar bendera partition boot di linux
  • Cara Menunjukkan/Periksa Pelabuhan Terbuka di Ubuntu Linux
  • Cara menggunakan fail sebagai kunci peranti luks
  • Pasang Arch Linux di Workstation VMware