Sunday, 3 May 2020

Docker Machine

Prerequisites:

  • OS Debian Buster
  • Docker

Docker Machine adalah sebuah tools yang digunakan untuk dapat menjalankan Docker Engine pada virtual host dan mengelola host kita dengan command `docker-machine`.

Docker Machine adalah cara paling efficient untuk menjalankan multiple Docker Engine host dalam satu network, clound bahkan local.

Docker Machine juga adalah solusi untuk pengguna OS Windows dan Mac OS yang ingin menggunakan Docker Engine, bahkan untuk OS versi lama yang tidak memenuhi requirement Docker Engine.

Adapun perbedaan antara Docker Machine dengan Docker Engine adalah, Docker Machine adalah tool untuk menyediakan dan mengelola host Dockerized (host dengan Docker Engine di atasnya).

Dan Docker Machine menggunakan System Virtual untuk menginstall Docker Engine. System Virtual ini bersifat local (seperti VirtualBox) atau remote (seperti menggunakan host Dockerized pada cloud).

Sementara Docker Engine adalah aplikasi client-server yang terdiri dari daemon Docker, REST API yang menentukan antarmuka untuk berinteraksi dengan daemon dengan (CLI) yang akan berhubungan dengan daemon (melalui REST API).

Docker Engine menerima perintah melalui CLI seperti command `docker run `, `docker ps`, dll.

Install Docker Machine

Untuk pengguna OS Windows atau Mac OS dapat menginstall Docker Toolbox yang di dalamnya sudah terdapat Docker Machine.

Untuk linux gunakan command berikut:

Lalu install virtualbox, download virtualbox dan install sesuai linux distros yang digunakan.

Menjalankan Docker Machine

Jika Docker Machine sudah berhasil terinstall, jalankan command `docker-machine ls` untuk melihat list Machine yang tersedia (command ini akan menghasilkan list kosong).

Create Machine

Untuk membuat sebuah Machine gunakan command `docker-machine create` gunakan flag `--driver` untuk menggunakan driver yang tersedia (kita menggunakan virtualbox sebagai driver) dan berikan nama untuk Docker Machine yang dibuat (kita menggunakan `default` sebagai nama). Lihat command berikut:

$ docker-machine create --driver virtualbox default

Jalankan command `docker-machine ls` untuk mengecek Machine yang telah dibuat.

Untuk menjalankan environment Machine gunakan command berikut.

$ docker-machine env default

Dan untuk connect kedalam Machine jalankan command:

$ eval "$(docker-machine env default)"

Menjalankan Container dengan Docker Machine

Pull image busybox, jika belum tersedia docker akan mendownload image busybox.

$ docker run busybox echo hello world

Untuk melihat host IP address, gunakan command `docker-machine ip default`

Jalankan nginx webserver in a container dengan command berikut:

$ docker run -d -p 8000:80 nginx

Saat image selesai di unduh, hit server dengan port 8000 dengan IP address default.

$ curl $(docker-machine ip default):8000

Kita dapat membuat Docker Machine sebanyak-banyaknya sesuai dengan resources yang tersedia. Hanya cukup jalankan `docker-machine create`, dan untuk melihatnya jalankan command `docker-machine ls`.

Start dan Stop Machine

Untuk menghentikan Machine jalankan command `docker-machine stop` dan untuk menjalankannya lagi `docker-machine start`.

No comments:

Post a comment