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
root@bagol69:~#

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. 


Read More

Cara Melakukan Backup dan Restore Container Docker


 Tutorial  LinuxIndonesia -   Docker  mempunyai   fitur   free  untuk  melakukan   backup  dan  restore  Container docker.

Pada  artikel  ini, kita  akan  belajar  bagaimana  cara  backup  dan  restore   container   docker,  menggunakan   fitur yang  sudah   tersedia  di   docker  tersebut. 

Untuk mengurangi    dari  kesalahan  konfigurasi  atau    corrupt  dari   container  docker,   perlu  untuk   di  backup   container  docker  secara  berkala. 

Kita  lihat  terlebih  dahulu    daftar   container  yang ada  di  server  kita.

Cara  Melakukan  Backup  dan   Restore  Container  Docker
Cara  Melakukan  Backup  dan   Restore  Container  Docker

Tentukan   container    yang mana  untuk  di  lakukan  backup  container.

root@bagol69:~# docker  ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
7385be77ced7        ubuntu              "/bin/bash"         About an hour ago   Exited (0) 21 minutes ago                       bagol69_container
0b5ff4cfbb2b        ubuntu              "/bin/bash"         About an hour ago   Exited (0) 21 minutes ago                       agitated_minsky
77a37a14902e        hello-world         "/hello"            About an hour ago   Exited (0) 18 minutes ago                       elegant_minsky

Misalnya,   admin  bagol69   ingin  melakukan  backup  container   bagol69_container. 
  
Kita  menggunakan  parameter  docker  commit   untuk  melakukan  backup  container  docker.

root@bagol69:~# docker  commit  7385be77ced7  bagol69_container_backup
sha256:09af2045a0659e33c015a56a18b2e4efb4c9683395b0f27c92b19201574bd533


Note

Docker commit  digunakan  untuk  melakukan backup  container

7385be77ced7   merupakan   container  ID   yang  ingin  kita backup  container.

bagol69_container_backup  merupakan  nama  container  yang  berhasil untuk  di backup. Sesuaikan  dengan keinginan  anda.
 Artikel   Selanjutnya.  

Cara Memberikan nama pada Container Docker

Belajar Docker : Instalasi dan Konfigurasi Docker di Ubuntu 16.04


Setelah  melakukan   backup  container,  hasil dari  backup  container  tersebut akan terbentuk   sebuah  images.


root@bagol69:~# docker  images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
bagol69_container_backup   latest              09af2045a065        6 seconds ago       83.5MB
ubuntu                     latest              735f80812f90        9 days ago          83.5MB
debian                     latest              3bbb526d2608        2 weeks ago         101MB

Kita  lakukan  compress   backup  container  menggunakan  parameter  save -o  untuk melakukan  compress   container  docker. 

root@bagol69:~# docker save -o /tmp/bagol69_container_backup.tar.gz bagol69_container_backup

Note
 Docker save –o  merupakan  parameter   docker  di gunakan untuk   compress container  docker  yang  telah  berhasil  di  backup  sebelumnya.

/tmp/   merupakan  folder yang di  gunakan untuk  menyimpan  hasil  backup  container yang telah  berhasil  di  compress  menjadi   tar.gz    atau   .unzip.

Bagol69_container_backup   merupakan  container docker  yang  sudah  berhasil  di  backup  dari  container  bagol69_container.   Yang  terbentuk menjadi  sebuah  images  bukan   container.

Kita  pergi  ke folder  /tmp  untuk  melihat   hasil  compress  dari   bagol69_container_backup.

root@bagol69:~# cd  /tmp/
root@bagol69:/tmp# ls
bagol69_container_backup.tar.gz  systemd-private-7ed37adfecba4776b71fc68dc9977cff-systemd-timesyncd.service-45u1lH
root@bagol69:/tmp#

Sudah  berhasil  melakukan    backup Container  docker  menggunakan  fitur  yang sudah  di  sediakan  oleh  docker.

Sekarang  kita  coba  melakukan   restore   container  docker  yang sebelumnya  sudah  berhasil  melakukan  backup  container  docker.


Sebelum  melakukan  restore  container  docker,  lebih  baik   hapus  terlebih  dahulu  images  container   hasil  dari  backup. 
Untuk menghindari  dari  konflik atau  duplicate  nama  container, menggunakan  parameter docker rmi

root@bagol69:/tmp# docker  rmi bagol69_container_backup

Sekarang  kita  melakukan  pengecekan  images  yang   kita  hapus  sebelumnya.  Menggunakan  parameter  docker  images.

 Sudah  tidak  ada   images   yang bernama   bagol69_container_backup. 

root@bagol69:/tmp# docker  images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              735f80812f90        9 days ago          83.5MB
debian              latest              3bbb526d2608        2 weeks ago         101MB
hello-world         latest              2cb0d9787c4d        3 weeks ago         1.85kB

Kita  dapat  melakukan   restore  container  hasil  backup  sebelumnya  menggunakan  parameter  docker  load –i.

root@bagol69:/tmp# docker  load  -i /tmp/bagol69_container_backup.tar.gz
Loaded image: bagol69_container_backup:latest

Note

Docker load –i  merupakan  parameter  di gunakan  untuk  melakukan  restore  container   hasil  dari  backup.

/tmp/bagol69_container_backup.tar.gz   merupakan   file  container  hasil  dari  backup tersebut.

Apabila berhasil  melakukan  restore  container  akan  muncul  di  images   container  hasil  backup  sebelumnya.

root@bagol69:/tmp# docker  images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
bagol69_container_backup   latest              09af2045a065        6 minutes ago       83.5MB
ubuntu                     latest              735f80812f90        9 days ago          83.5MB
debian                     latest              3bbb526d2608        2 weeks ago         101MB
hello-world                latest              2cb0d9787c4d        3 weeks ago         1.85kB

Untuk  menjadikan  sebuah  container,  kita  menggunakan  command  di  bawah  ini.

root@bagol69:/tmp# docker  run  -ti  bagol69_container_backup
root@da3eb35b5bc2:/# root@bagol69:/tmp#

Terakhir  kita  melihat    daftar  container  yang  ada  di  server. 

root@bagol69:/tmp# docker  ps  -a
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS                      PORTS               NAMES
da3eb35b5bc2        bagol69_container_backup   "/bin/bash"         17 seconds ago      Up 16 seconds                                   dreamy_sammet
8c96c97ffd52        debian                     "bash"              21 minutes ago      Up 21 minutes                                   BAGOL69-C
d23427f1a89b        debian                     "bash"              23 minutes ago      Up 23 minutes                                   BAGOL69-B
45112e8efbaa        ubuntu                     "/bin/bash"         24 minutes ago      Up 24 minutes                                   BAGOL69-A
ba2b39a722ec        ubuntu                     "/bin/bash"         About an hour ago   Exited (0) 29 minutes ago                       contoh_data2
27962200896f        ubuntu                     "/bin/bash"         About an hour ago   Exited (0) 29 minutes ago                       data
250ad4b087a7        debian                     "/bin/bash"         About an hour ago   Exited (0) 29 minutes ago                       goofy_pasteur
e3668c6f67a4        debian                     "/bin/bash"         About an hour ago   Exited (0) 29 minutes ago                       www_bagol69_com
b18314c60681        debian                     "bash"              About an hour ago   Exited (0) 29 minutes ago                       blissful_lewin
0b5ff4cfbb2b        ubuntu                     "/bin/bash"         About an hour ago   Exited (0) 29 minutes ago                       agitated_minsky
77a37a14902e        hello-world                "/hello"            About an hour ago   Exited (0) 25 minutes ago                       elegant_minsky
root@bagol69:/tmp#

Kita  sudah  berhasil  melakukan  restore   container  docker  yang  sudah   di  backup.


Alhamdulilah  sudah  berhasil  melakukan  percobaan   backup  dan  restore   docker.

 Nantikan   artikel  selanjutnya   yang  masih  membahas   docker.  
Read More