Cara Membuat Network Container Docker


Tutorial  Linux  Indonesia  --   Pada kali  ini   bagol69  akan  melanjutkan  belajar  dockeer  sampai  tuntas.  

Pada artikel  sebelumnya sudah  di  bahas   Cara  Backup  dan   Restore  Container  Docker. 
 
Cara  Membuat  Network Container  Docker
Cara  Membuat  Network Container  Docker  
Kesempatan  kali  ini,  kita  akan  belajar    Cara  Membuat   network  Container  Docker.  

Secara  default  docker  akan membuat   adapter  network   bridge  dengan nama  docker0. Dengan menggunakan    subnet  172.16.0.0/16.

Seluruh  container  yang kita  buat  akan  terhubung  dengan   adapter  network  bridge  tersebut. 

Yang   berarti  memiliki   alamat  ip  address yang sama  dan  Ip  host di gunakan untuk  gateway. 

Kita  dapat  melihat  alamat  ip  address   dari  Host (  server  docker. ). 

Jika  kita  lihat  interfaces  host  tersebut,  akan  terlihat   seperti di  bawah  ini.

[root@bagol69:~# ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:06:81:41:e0
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:6ff:fe81:41e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:348 (348.0 B)
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:81:f2:cf
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe81:f2cf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:88555 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37211 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:123874619 (123.8 MB)  TX bytes:2411721 (2.4 MB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1780 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:133128 (133.1 KB)  TX bytes:133128 (133.1 KB)
[root@bagol69:~#

Untuk  melihat  detail  network  pada  Container, kita  
dapat  menggunakan  parameter   inspect  network 

[root@bagol69:~# docker  network  inspect  bridge
[
    {
        "Name": "bridge",
        "Id": "13b86d5053ac4afb7b2046950db8eea38f074e9b429e55f6754c5b0ae4204b3a",
        "Created": "2018-08-05T18:13:43.537105456+07:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "7385be77ced75c5928343cfd99d581957a3e60ebef90c370fe79a4e23984884b": {
                "Name": "bagol69_container",
                "EndpointID": "a93e61d552f2485a710fe5bb41b50568ac18148dad71332291d00531c59c1c93",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },
          
            "e3668c6f67a4147ff8d178a5fca869999e487aa72df74d876d75287209341a21": {
                "Name": "www_bagol69_com",
                "EndpointID": "c41c047347bf4b74eba9795bd1e30345f1547e3d848ff50fc8f6254f2af8bd17",
                "MacAddress": "02:42:ac:11:00:05",
                "IPv4Address": "172.17.0.5/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]
[root@bagol69:~#
Pada  docker  dapat  membuat  network  baru  pada  host  docker. 
 Kita  dapat  memisahkan  network    untuk  tiap  containernya. 

Artikel  Selanjutnya, 

Belajar Docker : Instalasi dan Konfigurasi Docker di Ubuntu 16.04
Cara Memberikan nama pada Container Docker

Cara Melakukan Backup dan Restore Container Docker


Misalnya,   bagol69  akan memisahkan  container    BAGOL69-B memiliki  network  yang berbeda  dengan   container BAGOL69-C.

Oleh  sebab itu,  kita  menambahkan   network  container  terlebih  dahulu. 

Sebelum  menambah  network  container,    lakukan  pengecekan  network   yang  sudah  ada  sebelumnya  di  host  docker. 

Menggunakan  parameter  docker network  list


[root@bagol69:~# docker  network  list
NETWORK ID          NAME                DRIVER              SCOPE
13b86d5053ac        bridge              bridge              local
cebeb7b99d68        host                host                local
96bf4a116953        none                null                local

Setelah  melakukan  pengecekan  network  list  di host  docker,  kita  dapat   menambahkan  network  dapat  menggunakan    command   di  bawah  ini.

[root@bagol69:~# docker  network  create --driver bridge --subnet=13.13.13.0/24 network=A
fa7cf8ba5acf806350d04f6673437bee648824e1e47141269013c9bfbfeeb2b8
[root@bagol69:~# docker  network  create --driver bridge --subnet=15.15.15.0/24 network=B
7afcb217f8fc819dc3ea9e986d4b09028156a677eb0830a0b830f671d17ae026
[root@bagol69:~#

Langsung  saja   kita   melakukan  percobaan   dengan  menjalankan  2  buah  container   dengan  network  yang  saling  berbeda, yaitu  BAGOL69-B  dengan  network=A  dan  BAGOL69-C  dengan  network=B. 

[root@bagol69:~# docker  run --name  BAGOL69-B --network network=A -ti   debian
[root@d23427f1a89b:/# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
10: eth0@if11:  mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:0d:0d:0d:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 13.13.13.3/24 brd 13.13.13.255 scope global eth0
       valid_lft forever preferred_lft forever
[root@d23427f1a89b:/#
[root@bagol69:~# docker  run  --name   BAGOL69-C --network network=B -ti debian
[root@8c96c97ffd52:/# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
12: eth0@if13:  mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:0f:0f:0f:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 15.15.15.2/24 brd 15.15.15.255 scope global eth0
       valid_lft forever preferred_lft forever
[root@8c96c97ffd52:/#

Dari  gambar  diatas,  kita  bisa  lihat  bahwa   BAGOL69-B  memiliki  network  yang berbeda  dengan  BAGOL69-C.

Yang  menandakan  kita  sudah  berhasil menambahkan  network  dan memasukan  network  ke  dalam  Container  yang  kita  inginkan. 

Nantikan  Artikel  selanjutnya   yang  masih  membahas  DOCKER sampai  tuntas.  

Jika  artikel Cara  Membuat  Network Container  Docker .    Silahkan  anda   share  ke  teman-teman  anda.