Modul Dasar Docker Portainer
Modul Dasar Docker Portainer
Pengenalan Docker
Docker adalah sebuah project open source yang ditujukan untuk developer atau
sysadmin untuk membangun, mengemas dan menjalankan aplikasi dimana pun di dalam
sebuah container.
Mungkin anda sedikit bingung dengan pengertian diatas dikarenakan terlalu sulit
untuk membayangkan bagaimana pengembangan aplikasi yang sebenarnya. Docker berfungsi
sebagai virtualisasi sebuah sistem operasi atau sebuah server atau sebuah web server atau
bahkan sebuah database server, dimana dengan menggunakan virtualisasi ini, diharapkan
developer dapat mengembangkan aplikasi sesuai dengan spesifikasi server atau dengan kata
lain, jika kita mengembangkan sebuah aplikasi lalu kita jalankan pada komputer kita sendiri
maka secara otomatis aplikasi akan berjalan dengan baik, nah bagaimana jika server yang
akan menjalankan aplikasi kita memiliki banyak perbedaan dengan komputer kita seperti
perbedaan sistem operasi, arsitektur processor dan sebagainya. Dengan menggunakan
virtualisasi ini maka para developer lebih mudah untuk mengatur mengenai deployment atau
menjalankan aplikasi di server production.
Sebelum kita membahas mengenai docker lebih lanjut, kita akan mencoba membahas
sedikit mengenai docker dan vagrant. Docker dan vagrant merupakan tool yang sama atau
dapat dikatakan merupakan tool developer yang mempunyai fungsi yang sama, akan tetapi
meski memiliki fungsi yang sama terdapat beberapa perbedaan sehingga kita perlu
menentukan tool yang terbaik untuk melakukan development sebuah aplikasi. Beberapa
perbedaan dapat dilihat melalui tabel berikut.
Arsitektur Docker
Docker Daemon
Docker Images
Docker images adalah sebuah template yang bersifat read only. Template ini
sebenarnya adalah sebuah OS atau OS yang telah diinstall berbagai aplikasi. Docker images
berfungsi untuk membuat docker container, dengan hanya 1 docker images kita dapat
membuat banyak docker container.
Docker container bisa dikatakan sebagai sebuah folder, dimana docker container ini
dibuat dengan menggunakan docker container. Setiap docker container disimpan maka akan
terbentuk layer baru tepat diatas docker images atau base image diatasnya. Contohnya
misalkan kita menggunakan image ubuntu, kemudian kita membuat sebuah container dari
image ubuntu tersebut dengan nama ubuntuku, kemudian kita lakukan instalasi sebuah
software misalnya nginx maka secara otomatis container ubuntuku akan berada diatas layer
image atau base image ubuntu. Anda dapat membuat banyak docker container dari 1 docker
images. Docker container ini nantinya dapat dibuild sehingga akan menghasilkan sebuah
docker images, dan docker images yang dihasilkan dari docker container ini dapat kita
gunakan kembali untuk membuat docker container yang baru.
Docker Registry
Docker registry adalah kumpulan docker image yang bersifat private maupun public
yang dapat anda akses di docker hub. Dengan menggunakan docker registry, anda dapat
menggunakan docker image yang telah dibuat oleh developer yang lain, sehingga
mempermudahkan kita dalam pengembangan aplikasi.
Portainer adalah aplikasi yang ringan, cross-platform, dan open source UI untuk
manajemen Docker. Portainer memberikan gambaran rinci tentang Docker dan
memungkinkan Anda untuk mengelola kontainer, Docker image, jaringan dan volume masing
masing kontainer melalui web dashboard sederhana.
1. Mudah digunakan.
Karna sudah memiliki docker maka untuk melakukan instalasi pun sangat mudah, kita
hanya perlu download portainer menggunakan docker dengan perintah “pull” pada docker
itu sendiri. Tidak membutuhkan waktu yang sangat banyak untuk melakukan instalasi pada
portainer.
Portainer telah dibangun untuk berjalan pada mesin Docker sehingga dapat dijalankan di
mana saja di mana Docker berjalan. Hal ini kompatibel dengan Docker untuk Linux dan Docker untuk
Windows.
Portainer telah dirancang untuk mendukung segala sesuatu fitur yang API Docker tawarkan.
Docker API akan berkembang dan mengusulkan fitur baru, dan portainer akan menyesuaikan.
Sebelum masuk kedalam instalasi, dan realisasi docker. Pada bab ini akan menjelaskan
tentang topologi dan alur dari topologi yang akan kita buat agar lebih mudah untuk dipahami,
dan penjelasan tujuan daripada realisasi docker.
2. Penjelasan topologi
Modem terhubung ke Internet dan meneruskan kepada router, Pada router memiliki
IP:192.168.1.1 dan terdapat 2 pc yang terhubung kepada router.
PC Docker dengan IP : 192.168.1.8
PC Client dengan IP : 192.168.1.13
Pada docker server memiliki Container Ubuntu, dan juga Web server NGINX yang
nantinya akan diakses oleh computer client dengan operating system windows.
1. Pertama yang dilakukan adalah memilih ISO Ubuntu yang akan digunakan dalam penginstalan.
Bisa dilihat disini saya menggunakan Ubuntu versi 14.04.
2. Tunggu beberapa saat hingga tampilan Welcome Window muncul. Langkah awal dalam
penginstalan Ubuntu yaitu memilih bahasa yang akan digunakan saat kita menggunakan sistem
operasi Ubuntu ini. Default dari sistemnya menggunakan English. Jika hendak mencoba dulu
Ubuntu tanpa melakukan instalasi, maka dapat memilih menu “Try Ubuntu”. Namun jika hendak
melakukan instal Ubuntu, maka pilih menu “Install Ubuntu”.
5. Pilih free space yang akan digunakan, kemudian klik New Partitions. Free space disini merupakan
area harddisk yang belum dipartisi, bukan area kosong dari partisi itu sendiri.
7. Setelah partisi utama terbentuk, buatlah partisi kedua dengan cara klik + (plus). Dengan ukuran
1000 MB. Pilih logical sebagai tipe partisi. Pilih beginning sebagai lokasi partisi. Dan pilih format
Ext4 sebagai format terbaru di partisi. Kemudian untuk mount point pilih “/home”. Lalu klik OK.
11. Tentukan layout keyboard. Default sistemnya adalah US. Lalu continue
15. Ini adalah tampilan awal ubuntu. Masukkan password yang tadi telah dibuat.
1. Lakukan penginstalan curl pada Ubuntu apabila tidak memilikinya. Kemudian muncul
tulisan “Do you want to continue?” Ketik Y.
$ sudo apt-get install curl \ linux-image-extra-$(uname -r) \ linux-image-extra-virtual
8. Pada saat tertentu, kita diharuskan untuk menginstall versi Docker tertentu, tidak selalu
menggunakan yang terbaru. Berikut perintah untuk melihat versi yang tersedia.
9. Memverifikasi apakah instalan docker telah benar atau belum dengan menjalankan images hello-
world.
$ sudo docker run hello-world
Docker ID memberi Anda akses ke layanan Docker seperti : Docker Store, Docker Cloud, repositori
Docker Hub, dan beberapa program beta.
Docker ID Anda menjadi namespace repositori yang digunakan oleh host layanan seperti Docker Hub
dan Docker Cloud. Yang Anda butuhkan adalah alamat email.
akun ini juga memungkinkan Anda untuk login ke layanan seperti Pusat Docker Support, Forum
Docker, dan portal Docker Sukses.
Mendaftar Docker ID
BAB VII
CARA INSTAL PORTAINER PADA UBUNTU
5. Buka browser anda. Lalu ketikkan alamat berikut pada address bar :
http://localhost:9000 atau http://<IP_Ubuntu>:9000
7. Selanjutnya masuk ke tampilan login web portainer. Masukkan password yang telah dibuat di
tahap sebelumnya klik login.
9. Apabila muncul tulisan seperti berikut ini masukkan perintah yang tertera dan buka kembali
terminal.
BAB VIII
Mengakses portainer
2. Porteiner telah diaktifkan, untuk mengakses portainer buka web browser dan
masukkan alamat http://localhost:9000 atau http://IP_Address:9000. Tampil pada
web browser seperti pada gambar berikut, silakan setup password untuk user admin.
Masukkan password dua kali dan tekan tombol Validate untuk membuat password
user admin.
3. pada langka selanjutnya masukkan password yang telah anda buat sebelumnya lalu
login.
4. Connect Portainer ke mesin Docker atau Swarm klaster endpoint.Karena saya tidak
memiliki mesin Docker pada perangkat lain, maka saya memilih“Manage the Docker
instance where Portainer is running”.
BAB IX
Menagemen Images Pada Docker Portainer
Cilsy Fiolution Indonesia | 31
Docker images adalah sebuah template yang bersifat read only. Template ini
sebenarnya adalah sebuah OS atau OS yang telah diinstall berbagai aplikasi. Docker images
berfungsi untuk membuat docker container, dengan hanya 1 docker images kita dapat
membuat banyak docker container. Pada pembahasan kali ini penulis akan melakukan
managemen pada Images yaitu pull Images menggunakan docker portainer.
Buka menu Images pada halaman Portainer.io maka akan terlihat Images portainer
yang tersimpan pada ubuntu, Mengapa ada Images portainer dalam menu Portainer? Images
portainer ini ada dikarenakan proses “run” dan “pull” pada portainer disaat penambahan
portainer pada docker.
Kolom bagian “Name” merupakan tempat untuk menentukan jenis Images yang akan
kita “pull” baik itu Aplikasi, maupun Sistem Operasi. Uniknya dalam kolom “Name” ini kita
dapat menentukan versi yang digunakan dalam Aplikasi, atau Sistem Operasi itu sendiri,
dengan cara menggunakan tag “:”. Contohnya jika kita ingin menginstall Sistem Operasi
Pada kolom “Registry” merupakan tempat untuk memilih server untuk melakukan
“pull” Images, jika kolom “Registry” ini dikosongkan maka portainer akan otomatis
mengakses server docker registry.
Penulis akan melakukan “pull” Ubuntu versi 14.04 dengan registry default. Isi kolom
Name dengan “ubuntu:14.04” lalu tekan tombol “pull”.
Jika sudah maka akan terlihat jumlah images pun bertambah dan kita telah berhasil
melakukan “pull” dari server registry docker.
Docker container sendiri merupakan sebuah image yang dapat dikemas dan dibaca tulis,
container berjalan diatas image. Pada setiap perubahan yang disimpan pada container akan
menyebabkan terbentuknya layer baru di atas base image. Kita dapat melakukan instalasi
aplikasi didalamnya dan melakukan penyimpanan.
Terdapat beberpa cara untuk menambahkan container baru pada portainer, disini
penulis akan menjelaskan pembuatan kontainer dengan beberapa metode tersebut.
Buka menu containers pada halaman portainer, dan akan terlihat container yang
sedang aktif dan running. Selain dapat melihat container yang sedang aktif dan running pada
menu container terdapat beberapa fitur dengan fungsi masing - masing yaitu :
Disini penulis ingin menambahkan container yang berisi images ubuntu. Maka
selanjutnya isi pada kolom :
Name = Ubuntu
Image = ubuntu.
command = /bin/bash.
Dengan menuliskan “ubuntu” pada kolom image maka container pun akan terisi
dengan image ubuntu versi terakhir, namun jika ingin menggunakan versi tertentu semisal
“ubuntu 14.04”, maka isi kolom tersebut dengan menggunakan tag, atau dapat disimbolkan
dengan “:”, contoh :
Image = ubuntu:14.04.
Dengan menceklis Always pull image before creating maka disaat membuat container
portainer akan melakukan pull dari server. Dan karna registry tidak diisi maka portainer akan
meminta pull images melalui alamat docker registry resmi milik docker.
Setelah itu pada menu console centang pada radiobutton interactive and TTY.
Selanjutnya tekan create untuk memulai pembuatan container yang terdapat images ubuntu,
pembuatan container akan memakan waktu dikarnakan melakukan pull dari server.
Jika sudah maka container akan bertambah 1 dengan image “ubuntu:latest” dan
memiliki nama container yaitu “ubuntu”, jika container ini tidak diberi nama maka portainer
akan memberikan nama secara otomatis. Setelah container terbuat maka container akan
otomatis running. Container sendiri pun memiliki sebuah IP, dimana IP tersebut merupakan
IP yang di”bridge” kan dengan IP docker yang berada pada ubuntu.
Untuk mengakses container yang berisi images ubuntu kita dapat mengaksesnya
menggunakan terminal dengan menggunakan perintah command line:
Ketika mengakses images ubuntu, terlihat jelas bahwa terdapat perbadaan pada
nama user root yang seharusnya adalah “docker” berubah menjadi id yang terdapat pada
container yaitu “300c187b2fcc”.
Buka menu Images pada halaman Portainer maka akan terlihat beberapa Images yang
sudah kita “pull” atau “download” pada BAB sebelumnya, maupun pada metode pertama.
Klik Id pada Images Ubuntu 14.04 yang merupakan Images yang telah kita pull dari
bab sebelumnya, lalu scroll kebawah hingga terdapat konten dari halaman yang menjelaskan
informasi tentang PATH atau lokasi dari pada dockerfile itu sendiri.
Salin lokasi dockerfile tersebut dan buka menu Container kembali, dan klik Add
Container.
Sebelum menekan tombol “create” jangan lupa untuk memilih “Interactive and TTY”
pada opsi “Console”. Setelah itu create.
Pada menu App Templates terdapat beberapa images yang sudah disediakan oleh
portainer itu sendiri, namun App Templates hanya menyediakan images berupa aplikasi.
Untuk melakukan penambahan container pada menu App Templates, maka klik menu App
Templates.
Pilih aplikasi yang diinginkan, disini penulis akan menggunakan aplikasi nginx.
Selanjutnya beri nama pada kolom Name, disini penulis akan memberikan nama
“NGINX”, dengan kondisi Network default. Lalu setelah itu tekan tombol create. Proses ini
akan memakan waktu yang cukup lama karena seperti halnya image ubuntu, aplikasi NGINX
pun akan melakukan proses pull kepada docker registry.
Jika semua proses sudah selesai maka akan terlihat container “NGINX” sudah terbuat
dan berjalan.
Selain mengakses container yang telah kita buat menggunakan PC ubuntu yang
terinstall docker kita akan mencoba mengakses melalui PC client yang menggunakan
Operating System Windows. Namun agar client dapat mengakses server, pastikan bahwa PC
server Ubuntu dengan PC client Windows berada dalam satu jaringan.
Setelah dalam satu jaringan coba lakukan test ping, antar kedua PC tersebut.
Jika proses ping berhasil, maka pastikan docker dan container dalam keadaan aktif
dan sedang berjalan. Karna kita menggunakan portainer maka langkah selanjutnya adalah
buka halaman Portainer pada windows, dengan cara “http://192.168.1.8:9000” atau
“http://IP UBUNTU:9000”.
Login dengan password yang kita buat pada docker portainer pada ubuntu server.
Buka menu container, lalu klik container Ubuntu yang sedang berjalan.