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!
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