Pengantar
Docker merupakan tool yang memudahkan kamu dalam membuat, menguji, mengembangkan, dan mendeploy aplikasi kamu secara terisolasi dalam sebuah wadah yang disebut container.
Konsep Docker ini mirip dengan virtual machine, hanya saja Docker memiliki beberapa keunggulan yang tidak dimiliki virtual machine.
Di sini kamu bakalan belajar bagaimana cara menginstall dan menggunakan Docker di Debian 10, gaskeuunn!
Prasyarat
- Punya Server atau VPS Debian 10 (akses root)
- Punya akun Docker Hub , daftar dulu kalau belum punya.
Langkah 1 – Menginstall Docker
Perlu diketahui jika package Docker yang ada pada repository default Debian 10 bisa jadi adalah yang versi lama. Untuk mendapatkan Docker versi terbaru, kamu perlu menginstalnya dari official repository Docker.
Pertama, lakukan update package os dari server kamu :
sudo apt-get updateInstall beberapa package berikut, untuk memperbolehkan apt menggunakan HTTPS :
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-commonSelanjutnya tambahkan GPG key dari official repository Docker ke dalam sistem kamu :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –Tambahkan Docker repository ke APT sources :
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable”Jalankan command berikut untuk memastikan bahwa package yang kamu install nantinya berasal dari repository Docker dan bukan repository default Debian :
sudo apt update apt-cache policy docker-ceNah, jika sudah, kamu bisa melakukan instalasi Docker :
sudo apt install docker-ceJika berhasil, seharusnya Docker sudah terinstall dan sudah berjalan pada VPS kamu. Untuk mengecek jalankan command :
sudo systemctl status dockerHasilnya akan seperti berikut :
Setelah menginstall Docker, kamu akan mendapatkan sebuah command baru yaitu docker
Langkah 2 – Menjalankan Perintah Docker Tanpa Sudo (Opsional)
Secara default, untuk menjalankan perintah-perintah Docker, kamu perlu menggunakan sudo (akses root) sebagai awalan. Jika tidak maka hasilnya akan error seperti gambar berikut :
Jika kamu ingin supaya tidak perlu menggunakan awalan sudo, kamu perlu menambahkan username kamu ke dalam group docker :
sudo usermod -aG docker ${USER}Untuk mengaplikasikan perubahan, kamu perlu logout dan login ulang ke user kamu, atau jalankan command berikut :
su – ${USER}Setelah itu jalankan command berikut untuk mengecek apakah user kamu sudah masuk ke dalam grup docker :
id -nGHasilnya kira-kira seperti ini :
Sekarang kamu tidak perlu menggunakan awalan sudo dalam menjalankan perintah docker :
Jika kamu ingin menambahkan user lain / user yang saat ini tidak sedang login, kamu bisa menggunakan command berikut :
sudo usermod -aG docker usernameSesuaikan username dengan nama user kamu ya sob!
Langkah 3 – Menggunakan Perintah Docker
Setelah berhasil menginstall Docker, langkah selanjutnya adalah memahami perintah yang ada pada Docker. Secara umum, struktur perintah Docker adalah sebagai berikut :
docker [option] [command] [arguments]Untuk mengetahui sub perintah apa saja yang ada pada Docker, kamu bisa langsung menjalankan command :
dockerBerikut subcommands yang ada pada Docker :
attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container’s changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container’s filesystem events Get real time events from the server exec Run a command in a running container export Export a container’s filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codesUntuk mengetahui informasi spesifik dari sebuah subcommand, jalankan command berikut :
docker docker-subcommand –helpUntuk mengetahui informasi tentang sistem pada Docker kamu, jalankan command :
docker infoLangkah 4 – Bekerja dengan Docker Images
Sebuah Docker container berjalan menggunakan Docker image. Secara default, Docker images ditarik dari Docker Hub, sebuah Docker registry official dari Docker. Siapapun bisa membuat dan menaruh Docker images mereka dalam Docker Hub.
Untuk memastikan apakah kamu bisa mengakses dan mendownload image dari Docker Hub, jalankan :
docker run hello-worldJika berhasil, maka seharusnya muncul kata-kata seperti gambar di bawah ini :
Kamu bisa mencari images yang tersedia pada Docker Hub dengan subcommand search (ganti ubuntu dengan image yang ingin kamu cari) :
docker search ubuntuKamu bisa mendownload images dengan command :
docker pull ubuntuUntuk melihat list image yang sudah terdownload, kamu bisa jalankan command :
docker imagesOutputnya seharusnya terlihat seperti ini :
Setelah itu, kamu bisa membuat sebuah container dengan image yang sudah kamu download dengan command :
docker run ubuntuLangkah 5 – Menjalankan Docker Container
Program hello-world yang sudah kamu jalankan pada langkah sebelumnya sebenarnya merupakan salah satu Docker container. Sekarang jalankan command berikut untuk menjalankan sebuah container dengan Ubuntu image :
docker run -it ubuntuCommand run berarti membuat sebuah container baru dengan image ubuntu. Option -it (gabungan dari -i dan -t) akan memberikan akses shell ke container baru yang akan kamu buat.
Tampilan dari hasilnya akan seperti berikut :
Gambar di atas menampilkan sebuah user dengan id b6ada83ff5c91. Kamu akan membutuhkan id container sewaktu-waktu jika ingin menghapus container tersebut.
Sekarang coba install package nodejs dalam docker kamu, jalankan command di bawah ini (pastikan kamu sudah masuk di dalam shell docker ubuntu yang sudah kamu buat) :
apt-get update apt-get install nodejs -ySetelah itu cek dengan command :
node -vLalu coba keluar dari container docker dengan command :
exitDan jalankan kembali
node -vDapat dilihat jika package nodejs hanya akan terinstall pada Docker container kamu. Hal ini tentunya memudahkan dalam proses pengembangan aplikasi.
Langkah 6 – Mengelola Docker Container
Untuk mengetahui container apa saja yang sudah kamu jalankan gunakan command :
docker psTampilannya akan seperti ini jika tidak ada container yang sedang aktif :
Pada tutorial ini, kamu sudah menjalankan beberapa container, tetapi mengapa tidak muncul? Jawabannya adalah container yang sudah kamu buat sedang dalam kondisi tidak aktif. Untuk melihat seluruh container yang sudah kamu buat baik yang aktif maupun tidak aktif jalankan command :
docker ps -aTampilannya kurang lebih akan seperti di bawah ini :
Untuk menjalankan dan menghentikan container kamu bisa menggunakan command docker start / stop lalu diikuti dengan nama atau id dari container tersebut.
Menjalankan :
docker start agitated_tuMenghentikan :
docker stop agitated_tuUntuk menghapus container gunakan command berikut :
docker rm agitated_tuLangkah 7 – Commit Perubahan ke Docker Image
Jika kamu pernah bekerja dengan sebuah version control seperti git, maka dengan docker kamu akan menemui hal yang cukup mirip. Kamu dapat membuat sebuah image baru dengan beberapa perubahaan.
Misalnya di sini hal yang sudah kamu lakukan pada container ubuntu adalah menginstall package nodejs, kamu dapat membuat image ubuntu baru yang sudah terinstall nodejs. Jadi jika sewaktu-waktu kamu perlu Ubuntu yang sudah ada nodejs nya, kamu bisa langsung memakai image tersebut
Secara sederhana, command untuk melakukan hal tersebut adalah sebagai berikut :
docker commit -m “Catatan tentang apa yang kamu lakukan” -a “Nama pembuat” container-id repository/new_image_nameContoh :
docker commit -m “Tambah nodejs sob!” -a “jagoanhostingkece” a8b5756c57d2 jagoanhostingkece/ubuntu-nodejsCek image kamu dengan command :
docker imagesMaka kamu akan punya satu buah image lagi :
Image baru tersebut merupakan turunan dari image ubuntu, yang didalamnya sudah terinstall nodejs. Hal ini akan memudahkan kamu jika kamu perlu beberapa service langsung tersedia pada container kamu nantinya tanpa harus menginstall satu persatu dari awal.
Langkah 8 – Push Perubahan ke Docker Hub
Langkah ini adalah bagaimana kamu bisa menaruh image baru kamu ke Docker Hub, sehingga orang lain bisa menggunakan image yang sudah kamu buat. Sebelum lanjut, pastikan kamu sudah membuat akun Docker Hub.
Pertama login ke akun Docker Hub kamu dengan command :
docker login -u usernamePastikan username pada nama image kamu sama dengan username Docker Hub kamu ya sob! Jika berbeda gunakan command berikut :
docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejsLalu, push image ke Docker Hub dengan command :
docker push docker-registry-username/ubuntu-nodejsJika berhasil maka pada akun kamu seharusnya muncul image yang sudah kamu push.
Penutup
Dengan menggunakan Docker, kamu bakalan lebih fleksibel dalam membuat dan mengembangkan aplikasi. Banyak sekali manfaat yang bisa kamu dapatkan dengan memanfaatkan Docker. Sekian sob cara install Docker di Debian 10. Semoga bermanfaat!