Cara Install dan Menggunakan Docker di Ubuntu 16.04
- Panduan Lengkap VM - Juli 29, 2024
- Panduan Pembayaran Via Bank Mandiri - Juli 2, 2024
- PHP X-Ray di cPanel untuk Optimasi Kecepatan Web - April 18, 2023
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 Ubuntu 16.04, langsung aja yuk!
Prasyarat
- VPS Ubuntu 16.04 (akses root)
- Akun Docker Hub
Langkah 1, Menginstall Docker
Perlu diketahui jika package Docker yang ada pada repository default Ubuntu 16.04 bisa jadi adalah yang versi lama. Untuk mendapatkan Docker versi terbaru, kamu perlu menginstalnya dari official repository Docker.
Pertama-tama tambahkan GPG key dari official repository Docker ke dalam sistem kamu :
curl -fsSL https://download.Docker.com/linux/ubuntu/gpg | sudo apt-key add -
Tambahkan Docker repository ke APT sources :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Selanjutnya, lakukan update package database :
sudo apt-get update
Jalankan command berikut untuk memastikan bahwa package yang kamu install nantinya berasal dari repository Docker dan bukan repository default Ubuntu :
apt-cache policy docker-ce
Nah, jika sudah, kamu bisa melakukan instalasi Docker :
sudo apt-get install -y docker-ce
Jika berhasil, seharusnya Docker sudah terinstall dan sudah berjalan pada VPS kamu. Untuk mengecek jalankan command :
sudo systemctl status docker
Hasilnya 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 -nG
Hasilnya 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 username
Sesuaikan 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 :
docker
Berikut 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 codes
Untuk mengetahui informasi spesifik dari sebuah subcommand, jalankan command berikut :
docker docker-subcommand --help
Untuk mengetahui informasi tentang sistem pada Docker kamu, jalankan command :
docker info
Langkah 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-world
Jika 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 ubuntu
Kamu bisa mendownload images dengan command :
docker pull ubuntu
Untuk melihat list image yang sudah terdownload, kamu bisa jalankan command :
docker images
Outputnya seharusnya terlihat seperti ini :
Setelah itu, kamu bisa membuat sebuah container dengan image yang sudah kamu download dengan command :
docker run ubuntu
Langkah 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 ubuntu
Command 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 -y
Setelah itu cek dengan command :
node -v
Lalu coba keluar dari container docker dengan command :
exit
Dan jalankan kembali
node -v
Dapat 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 ps
Tampilannya 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 -a
Tampilannya 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_tu
Menghentikan :
docker stop agitated_tu
Untuk menghapus container gunakan command berikut :
docker rm agitated_tu
Langkah 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_name
Contoh :
docker commit -m "Tambah nodejs sob!" -a "jagoanhostingkece" a8b5756c57d2 jagoanhostingkece/ubuntu-nodejs
Cek image kamu dengan command :
docker images
Maka 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 username
Pastikan 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-nodejs
Lalu, push image ke Docker Hub dengan command :
docker push docker-registry-username/ubuntu-nodejs
Jika 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 sedikit perkenalan dengan Docker. Semoga bermanfaat!