Docker Networking

Docker Networking – Pada artikel kali ini kita akan membahas apa itu Docker Networking.

Secara default pada saat kita selesai melakukan instalasi Docker, maka akan terbentuk network adapter bridge dengan nama docker0. Bridge adapter tersebut mempunyai IP address private dengan subnet 172.17.0.0/15.

Seluruh container yang akan kita buat, nantinya akan terhubung dengan adapter bridge tersebut. Yang berarti IP address pada container juga akan memiliki subnet yang sama dan IP address host akan menjadi gateway dari IP container.

Jika kita lihat interface pada host maka akan terlihat seperti berikut:

Gbr1 Docker Networking – Interface host
Gbr1 Docker Networking – Interface host

Dan jika kita lihat konfigurasi IP address pada container akan terlihat seperti berikut:

Gbr2 Docker Networking – Konfigurasi IP address container
Gbr2 Docker Networking – Konfigurasi IP address container

Untuk melihat detail network pada container bisa menggunakan perintah berikut:

Gbr3 Docker Networking – Inspect bridge
Gbr3 Docker Networking – Inspect bridge

Selanjutnya mari kita coba menjalankan container dan melakukan inspect network pada container tersebut. Dari terminal linux ketikkan perintah berikut:

Gbr4 Docker Networking – Testing Running dan Inspect Network Container
Gbr4 Docker Networking – Testing Running dan Inspect Network Container

Terlihat bahwa container yang baru saja kita buat memiliki IP address yang satu network dengan interface bridge docker0 pada mesin host.

Docker DNAT Dan Firewall

NAT adalah pengalihan suatu alamat IP ke alamat yang lain. Dan apabila suatu paket dialihkan dengan NAT pada suatu link, maka pada saat ada paket kembali dari tujuan maka link ini akan mengingat darimana asal dari paket itu, sehingga komunikasi akan berjalan seperti bisaa.

NAT terdiri atas dua macam tipe yaitu Source NAT (SNAT) dan Destination NAT (DNAT).

Source NAT (SNAT) akan mengubah alamat asal dari paket pertama, dengan kata lain anda merubah dari mana koneksi terjadi. SNAT selalu dilakukan setelah routing, sebelum paket keluar ke jaringan.

Destination NAT (DNAT) akan mengubah alamat tujuan dari paket pertama, dengan kata lain anda merubah ke mana komunikasi terjadi. DNAT selalu dilakukan sebelum routing, ketika paket masuk dari jaringan. Port forwarding, load sharing dan transparent proxy semuanya adalah bentuk dari DNAT.

Pada docker koneksi Internet yang didapat oleh container merupakan koneksi yang berasal dari interface public pada host menggunakan iptables NAT. Untuk melihatnya kita bisa menggunakan perintah berikut:

Gbr5 Docker Networking – Docket NAT
Gbr5 Docker Networking – Docket NAT

Selanjutnya jika docker ingin melakukan forwarding akses dari luar menuju kedalam docker maka peran iptables firewall dibutuhkan disini. Untuk melakukan port forwarding docker, kita dapat melakukannya pada saat menjalankan docker. Berikut contoh perintah untuk menjalankan port forwarding akses dari luar kedalam container untuk port HTTP (80):

Sedangkan untuk melakukan multiport DNAT dapat menggunakan parameter option -p secara berulang seperti contoh berikut:

Atau kita juga bisa melakukan port forwarding dengan menggunakan iptables secara langsung dengan menggunakan perintah berikut:

192.168.100:200 adalah IP addres dari mesin host docker.

Menambah Network Container

Pada docker kita juga dapat membuat pengaturan dimana kita dapat membuat network baru pada host docker. Sehingga nantinya kita juga dapat memisahkan network untuk tiap docker yang kita kehendaki.

Misalkan kita ingin membuat agar Container A memiliki network yang berbeda dengan Container B, maka kita bisa lakukan dengan cara menambahkan network container terlebih dahulu.

Pertama kita lihat dulu network docker yang ada dengan mengetikkan perintah berikut:

Gbr6 Docker Networking – Docket network list
Gbr6 Docker Networking – Docket network list

Selanjutnya untuk menambahkan network kita bisa melakukannya dengan perintah berikut:

Selanjutnya kita lakukan pengecekan network kembali

Gbr7 Docker Networking – Docket network list
Gbr7 Docker Networking – Docket network list

Selanjutnya mari kita coba untuk menjalankan 2 buah container dengan network yang saling berbeda yaitu container-A dengan network-A dan container-B dengan network-B.

Buat container-A dengan mengetikkan perintah berikut:

Gbr8 Docker Networking – Create container-A
Gbr8 Docker Networking – Create container-A

Lalu buat container-B dengan mengetikkan perintah berikut:

Gbr9 Docker Networking – Create container-B
Gbr9 Docker Networking – Create container-B

Dari hasil gambar diatas kta bisa lihat bahwa container-A memiliki network yang berbeda dengan container-B.

Docker Inspect

Docker inspect digunakan untuk melihat detail sebuah container, image ataupun network yang terdapat pada docker. Pengecekan docker inspect bisa diperlihatkan hasilnya secara keseluruhan ataupun hanya para meter yang kita butuhkan saja, misalnya network saja atau volume saja.

Untuk penggunaan docker inspect kita bisa lakukan dengan mengetikkan perintah docker inspect NAMA_CONTAINER:

Gbr10 Docker Networking – docker inspect
Gbr10 Docker Networking – docker inspect

Untuk melihat IP address kita bisa melakukan filter dengan mengetikkan perintah berikut:

Gbr11 Docker Networking – docker inspect IP address
Gbr11 Docker Networking – docker inspect IP address

Untuk melihat MAC address kita bisa melakukan filter dengan mengetikkan perintah berikut:

Gbr12 Docker Networking – docker inspect MAC address
Gbr12 Docker Networking – docker inspect MAC address

Untuk melakukan filter inspect path log container dengan mengetikkan perintah berikut:

Gbr13 Docker Networking – docker inspect path log container
Gbr13 Docker Networking – docker inspect path log container

Docker Statistik

Docker statistik digunakan untuk memantau penggunaan resource hardware container secara langsung.

Dari terminal linux ketikkan perintah berikut:

Gbr14 Docker Networking – docker stats
Gbr14 Docker Networking – docker stats

Dan jika ingin melakukan monitoring untuk satu container, maka kita bisa menggunakan perintah docker stats NAMA_CONTAINER

Gbr15 Docker Networking – docker stats container
Gbr15 Docker Networking – docker stats container

Sampai disini pembahasan tentang Docker Networking. Pada kesempatan lain kita akan belajar tentang Docker Networking lebih mendalam lagi.

Semoga bermanfaat.

Dewaweb Gives Your Website Only the Best!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *