Panduan Pemula untuk Docker Networking

Hai teman-teman, para maestro Docker masa depan! Saya sangat gembira untuk menjadi panduan Anda dalam perjalanan menarik ke dunia jaringan Docker. Sebagai seseorang yang telah mengajar ilmu komputer selama tahun tahun, saya bisa katakan bahwa memahami jaringan Docker seperti belajar menavigasi jalan yang sibuk di kota baru - mungkin terlihat menakutkan pada awalnya, tapi setelah Anda menguasainya, Anda akan bergerak cepat seperti penduduk setempat dalam waktu singkat!

Docker - Networking

Apa Itu Docker Networking?

Sebelum kita masuk ke detilnya, mari mulai dari dasar. Jaringan Docker adalah tentang bagaimana kontainer Docker berkomunikasi satu sama lain dan dengan dunia luar. Picturkan itu seperti sistem pos untuk kontainer Anda - itu adalah cara mereka mengirim dan menerima pesan serta data.

Menampilkan Semua Jaringan Docker

Ayo mulai petualangan kita dengan belajar bagaimana melihat jaringan mana saja yang tersedia di lingkungan Docker kita. Itu seperti memeriksa peta kota baru kita untuk melihat rute mana saja yang bisa kita ambil.

Untuk menampilkan semua jaringan Docker, kita gunakan perintah ini:

docker network ls

Ketika Anda menjalankan perintah ini, Anda akan melihat output seperti ini:

ID JARINGAN     NAMA      DRIVER    RUANG LINGKUP
9f904ee27bf5   bridge    bridge    lokal
95e74588f40d   host      host      lokal
6dd90d006c9b   none      null      lokal

mariuraikan ini:

  • ID JARINGAN: Identifier unik untuk setiap jaringan
  • NAMA: Nama jaringan
  • DRIVER: Driver jaringan yang digunakan (kita akan membahas ini lebih lanjut nanti)
  • RUANG LINGKUP: Ruang lingkup jaringan (lokal ke host Docker atau swarm)

Memeriksa Jaringan Docker

Sekarang kita bisa melihat jaringan kita, mari kita lihat lebih dekat ke salah satu dari mereka. Itu seperti memperbesar jalan tertentu di peta kita.

Untuk memeriksa jaringan Docker, kita gunakan:

docker network inspect [NAMA JARINGAN]

Misalnya, mari kita periksa jaringan default 'bridge':

docker network inspect bridge

Perintah ini akan mengembalikan banyak informasi detil tentang jaringan dalam format JSON. Itu seperti mendapatkan laporan detil tentang segala sesuatu yang terjadi di jalan itu - siapa yang tinggal di sana, bagaimana rumahnya terlihat, dll.

Membuat Jaringan Baru Sendiri

Baiklah, sekarang kita siap untuk membangun jalan sendiri! Membuat jaringan baru di Docker sungguh mudah:

docker network create [OPSI] [NAMA JARINGAN]

mari buat jaringan bridge sederhana:

docker network create my_awesome_network

Selamat! Anda baru saja membuat jaringan Docker pertama Anda. Itu seperti Anda baru saja menempatkan jalan baru di kota Docker kita.

Untuk memverifikasi bahwa jaringan kita telah dibuat, kita bisa menggunakan perintah docker network ls lagi:

docker network ls

Anda sekarang应该lihat jaringan baru Anda di daftar!

Driver Jaringan

Dalam Docker, driver jaringan adalah seperti jenis-jenis jalan yang berbeda. Mari kita lihat jenis utama:

Driver Deskripsi
Bridge Driver default. Baik untuk kontainer tunggal yang perlu berkomunikasi.
Host Menghapus isolasi jaringan antara kontainer dan host Docker.
Overlay Digunakan untuk menghubungkan beberapa daemon Docker bersamaan. Baik untuk layanan swarm.
Macvlan Memungkinkan Anda memberikan alamat MAC ke kontainer, membuatnya tampak seperti perangkat fisik di jaringan Anda.
None Menonaktifkan semua jaringan untuk kontainer.

Saat membuat jaringan, Anda dapat menentukan driver. Misalnya:

docker network create --driver overlay my_overlay_network

Ini membuat jaringan overlay baru, yang bagus untuk saat Anda bekerja dengan Docker Swarm.

Menghubungkan Kontainer ke Jaringan

Sekarang kita memiliki jaringan, mari kita belajar bagaimana menghubungkan kontainer kita kepadanya. Itu seperti memutuskan jalan mana rumah kita (kontainer) harus berada.

Saat Anda menjalankan kontainer baru, Anda dapat menentukan jaringan mana yang harus dihubungkan:

docker run --network=my_awesome_network nginx

Perintah ini menjalankan kontainer nginx dan menghubungkannya ke 'my_awesome_network'.

Anda juga dapat menghubungkan kontainer yang sudah ada ke jaringan:

docker network connect my_awesome_network my_existing_container

Dan jika Anda ingin memutuskan koneksi kontainer dari jaringan:

docker network disconnect my_awesome_network my_existing_container

Contoh Dunia Nyata

Mari kita gabungkan semua ini dengan contoh praktis. Bayangkan kita sedang membangun aplikasi web sederhana dengan frontend dan backend. Kita ingin kontainer ini bisa berkomunikasi satu sama lain, tapi kita tidak ingin menampilkan backend ke dunia luar.

Pertama, mari kita buat jaringan kita:

docker network create my_app_network

Sekarang, mari kita jalankan kontainer backend dan menghubungkannya ke jaringan kita:

docker run --name backend --network=my_app_network -d my-backend-image

Dan akhirnya, kontainer frontend kita:

docker run --name frontend --network=my_app_network -p 80:80 -d my-frontend-image

Sekarang frontend dan backend kontainer kita bisa berkomunikasi satu sama lain melalui 'my_app_network', tapi hanya frontend saja yang terbuka ke dunia luar pada port 80.

Kesimpulan

Dan begitulah, teman-teman! Kita telah menjelajahi dasar-dasar jaringan Docker, dari menampilkan dan memeriksa jaringan hingga membuat sendiri dan menghubungkan kontainer. Ingat, seperti setiap keterampilan, menguasai jaringan Docker memerlukan latihan. Jangan takut untuk mencoba dan menguji konfigurasi yang berbeda.

Saat kita mengakhiri, saya teringat tentang seorang murid yang pernah katakan kepadaku bahwa belajar jaringan Docker terasa seperti belajar berenang - awalnya Anda merasa seperti tenggelam di informasi, tapi setelah itu berjalan, Anda akan berenang melalui konsep dengan mudah. Jadi terus berenang, dan sebelum Anda sadari, Anda akan berenang di jaringan Docker!

Selamat Dockering, dan semoga kontainer Anda selalu menemukan jalan pulang!

Credits: Image by storyset