DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Portainer adalah platform manajemen kontainer berbasis web yang mendukung Docker, Swarm, Nomad, dan Kubernetes. Portainer tersedia dalam dua versi yaitu Community Edition (CE) dan Business Edition (BE).
Daftar Isi:
Pernahkah kamu merasa lelah karena harus mengelola beberapa kontainer docker melalui CLI? Jika iya, mari berkenalan dengan Portainer. Jadi, apa sih Portainer itu? dan apa saja yang bisa dia lakukan?
Portainer adalah platform manajemen kontainer berbasis web yang mendukung Docker, Swarm, Nomad, dan Kubernetes. Portainer tersedia dalam dua versi yaitu Community Edition (CE) dan Business Edition (BE).
Jadi sederhananya portainer ini platform yang memudahkan kamu untuk mengelola siklus hidup dari kontainer yang sedang dijalankan dengan adanya bantuan GUI berbasis web.
Belum tahu apa itu Docker?
Portainer ini memiliki ukuran image yang kecil, sekitar 200 MB untuk versi CE baik untuk server ataupun agent. Tentunya ini dapat menghemat penyimpananmu. Selain itu, dengan dukungan tampilan UI/UX yang sederhana mempercepat adaptasi pengguna dengan fitur-fitur yang disediakan.
Sekarang pertanyaannya, kapan kita sebaiknya menggunakan Portainer?
Seperti yang sudah penulis bahas sebelumnya, portainer ini cocok bagi kamu yang ingin mengelola banyak kontainer docker tapi tidak ingin direpotkan dengan pengelolaan berbasis CLI.
Bisa dibayangkan jika kamu harus mengelola 10 kontainer di 2 lingkungan yang berbeda (staging & production) akan seperti apa kacaunya jika kamu harus mengingat kembali semua perintah docker yang kamu perlukan.
Intinya dengan portainer kamu bisa sat set sat set dalam mengelola dan melihat semua kontainer yang ada.
Baca juga “Install Docker Desktop on Ubuntu”
Ini adalah gambaran sistem sederhana yang akan kamu kerjakan pada tutorial ini.
Okey, cukup perkenalan dengan portainernya. Mari siapkan kopi dan laptop untuk mulai menginstallnya di komputer lokal.
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Disini penulis menggunakan port 9000:9000 untuk menjalankan portainer server.
Klik port 9443:9443 pada dashboard docker, nantinya kamu diarahkan ke halaman initial setup.
Masukkan data-data yang diminta. Jika sudah, maka sekarang kamu akan diarahkan ke halaman login seperti berikut.
Sampai disini kamu telah berhasil memasang portainer server di lokal komputer menggunakan docker. Selanjutnya kita akan memasang portainer agent pada remote server.
Untuk kebutuhan uji coba, kamu dapat memanfaatkan preemtible VM milik Google Cloud. Tapi untuk bisa menggunakanya kamu harus memiliki akun trial terlebih dahulu.
Baca juga “Create a Google Cloud Free Trial Account”
Setelah berhasil membuat akun Google Cloud, sekarang lanjut ke langkah berikutnya.
Tapi sebelum membuat preemtible VM, kamu perlu membuat aturan firewall baru yang mengizinkan port 9001 dengan protokol TCP yang nantinya akan digunakan oleh portainer agent agar dapat terhubung dengan portainer server.
setelah itu Create dan tunggu hingga aturan firewall baru berhasil dibuat.
gcloud compute instances create [VM_NAME] --preemptible
disini penulis memberi nama myserver.
Setelah VM berhasil dibuat, sekarang login menggunakan SSH.
Karena kamu akan menjalankan portainer agent menggunakan kontainer docker, maka kamu perlu memasang dockernya terlebih dahulu.
Jalankan perintah berikut untuk mengatur repositori APT dari docker versi CLI.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
untuk mendeploy kontainer bawaan docker.
docker ps
untuk melihat semua kontainer yang sedang dijalankan.
sudo su
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:2.20.1
Jalankan kembali docker ps untuk melihat apakah portainer agent telah dijalankan dan tidak ada masalah.
Sekarang kembali ke dashboard portainer
pilih sub-menu Environments, kemudian Add environment.
Setelah itu klik Connect.
Jika berhasil, kamu dapat melihat preemtible-vm pada menu Environments.
kontainer berlabel merah adalah kontainer yang berhenti (hello-world).
Untuk melihat detail kontainer, pilih salah satu kontaier misalnya portainer_agent.
Scroll kebawah untuk melihat detail lainnya yang disediakan oleh portainer.
Pilih Logs jika kita ingin melihat log dari kontainer yang sedang dijalankan.
Okey, sampai disini kamu sudah berhasil menginstall portainer agent pada server yang ingin kamu pantau kontainer dockernya.
Selain bisa digunakan untuk memantau dan mengelola kontainer Docker pada remote server, portainer juga dapat digunakan untuk mengelola kontainer pada komputer lokal.
Pilih local pada menu Environments.
Disini kamu akan diberikan ringkasan informasi terkait environment docker yang ada pada lokal komputer seperti jumlah stack, containers, images, dsb.
Klik Containers, untuk menambahkan kontainer baru klik Add container.
Silakan mengisi kolom yang disediakan seperti pada gambar.
Bagian yang perlu diperhatikan adalah nama image harus mengikuti format berikut
my-image:my-tag misalnya nginx:mainline-alpine3.20-slim
Selanjutnya, untuk port masukkan 80 lalu klik Deploy the container.
Setelah berhasil di deploy, kamu dapat melihat kontainer baru tersebut.
Klik port kontainer (80:80) untuk memastikan NGINX berjalan dengan sebagaimana mestinya.
Selamat, hari ini kamu sudah belajar hal baru terkait manajemen kontainer docker menggunakan platform bernama portainer. Kamu dapat mengeksplor fitur-fitur menarik lainnya yang disediakan oleh portainer.
Referensi:
Hi guys, kenalin aku Kholil Haq Alim Hakim biasa di panggil Holil. Pekerja IT yang suka Linux dan Cloud