{"id":9735,"date":"2020-06-23T02:21:15","date_gmt":"2020-06-23T02:21:15","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-id-tutorial\/?p=9735"},"modified":"2025-12-18T23:32:36","modified_gmt":"2025-12-18T16:32:36","slug":"docker-container","status":"publish","type":"post","link":"\/id\/tutorial\/docker-container","title":{"rendered":"Cara membuat container Docker + perintahnya lengkap"},"content":{"rendered":"<p><a href=\"\/id\/tutorial\/apa-itu-docker\">Docker adalah<\/a> tool yang bisa membantu menyederhanakan proses deployment bagi developer yang sedang membangun aplikasi atau layanan yang berjalan di beberapa sistem operasi.<\/p><p>Dengan cara membuat container Docker, Anda bisa meluncurkan beberapa aplikasi atau layanan dengan mudah pada sistem seperti VPS hosting atau dedicated machine. Docker juga ringan, lebih mudah digunakan, dan memiliki performa yang lebih baik dibandingkan dengan virtual machine.<\/p><p>Container Docker memiliki semua dependensi yang diperlukan untuk menjalankan aplikasi sehingga meminimalkan masalah kompatibilitas. Penting untuk membuat container Docker dari awal untuk proyek pengembangan apa pun yang diluncurkan menggunakan software open-source ini.<\/p><p>Nah, tutorial ini akan menjelaskan cara membuat container Docker, memandu Anda memahami manfaatnya dalam pengembangan software, serta tips terbaik untuk menggunakannya.<\/p><h2 class=\"wp-block-heading\" id=\"h-apa-itu-container-docker\">Apa Itu Container Docker?<\/h2><p>Container Docker adalah paket software mandiri yang memuat semua dependensi yang diperlukan untuk menjalankan aplikasi tertentu pada berbagai sistem operasi.<\/p><p>Dalam penggunaannya, image Docker akan menentukan semua instruksi konfigurasi untuk memulai atau menghentikan container. Setiap kali pengguna menjalankan image, container baru akan dibuat.<\/p><h2 class=\"wp-block-heading\" id=\"h-apa-fungsi-container-docker\">Apa Fungsi Container Docker?<\/h2><p>Container Docker merupakan solusi yang sangat berguna bagi para developer saat ini. Dengannya, aplikasi bisa berjalan di sistem operasi yang sama, tapi terpisah dari sistem operasi dan container lain. Fitur ini memastikan performa yang konsisten di lingkungan pengembangan dan staging.<\/p><p>Untuk bisnis, container Docker membantu mempercepat deployment dan memaksimalkan pemanfaatan resource sistem. Dari segi resource, penggunaan container Docker membutuhkan memori yang jauh lebih rendah daripada virtual machine. Selain itu, sifatnya yang portabel memungkinkan migrasi dan penyesuaian aplikasi legacy.<\/p><p>Singkatnya, Anda bisa mengoptimalkan proses pengembangan, menghemat waktu, dan memaksimalkan peluang keberhasilan proyek pengembangan aplikasi yang hemat biaya dengan cara membuat container Docker.<\/p><h2 class=\"wp-block-heading\" id=\"h-cara-membuat-container-docker\">Cara Membuat Container Docker<\/h2><p>Di tutorial ini, kami akan menggunakan VPS (<a href=\"\/id\/tutorial\/apa-itu-vps\">server pribadi virtual<\/a>) dengan sistem operasi <strong>Ubuntu 22.04<\/strong>. Pertama, pastikan Docker sudah terinstal di server Anda. Kalau belum, ikuti panduan kami untuk <a href=\"\/id\/tutorial\/cara-install-docker-ubuntu\">menginstal Docker di Ubuntu<\/a>.<\/p><p>Apabila Anda adalah user VPS Hostinger, Anda bisa menggunakan template <strong>Ubuntu 22.04 64-bit with Docker<\/strong> untuk menginstal Docker secara otomatis. Untuk menggunakan template ini, masuk ke dashboard <strong>VPS<\/strong> Anda, lalu buka <strong>OS &amp; Panel &rarr; Sistem Operasi.<\/strong><\/p><p>Klik tombol <strong>Aplikasi<\/strong>, lalu pilih <strong>Ubuntu 22.04 64bit with Docker<\/strong> dari drop-down, kemudian klik <strong>Ubah OS<\/strong>. Tunggu sampai prosesnya selesai.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/tutorial\/wp-content\/uploads\/sites\/37\/2024\/02\/memilih-sistem-operasi-ubuntu-with-docker-di-hpanel-1024x404.png\" alt=\"memilih sistem operasi ubuntu with docker di hpanel\"><\/figure><\/div><p>Untuk mempelajari selengkapnya tentang template ini dan kelebihannya di antara template lainnya, silakan kunjungi halaman <a href=\"\/id\/vps\/docker-hosting\">VPS Docker hosting<\/a> kami.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/id\/hosting-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29630\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Setelah penginstalan selesai, ikuti langkah-langkah membuat container Docker di bawah ini untuk menjalankan aplikasi Anda di lingkungan yang terisolasi.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-buat-image-docker\">1. Buat Image Docker<\/h3><p>Image Docker merupakan blueprint untuk container Anda. Image ini menyimpan semua kode, library, dan dependensi yang dibutuhkan oleh aplikasi Anda agar bisa berjalan.<\/p><p>Saat menjalankan image Docker, yang bisa dimiliki secara pribadi atau dibagikan secara umum di platform seperti <a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Hub<\/a>, image tersebut akan berubah menjadi container Docker.<\/p><p>Meskipun Anda bisa membuat image Docker baru, akan lebih praktis untuk menggunakan image dasar lalu mengembangkannya karena Docker Hub menyediakan banyak image dasar siap pakai.<\/p><p>Pertama, login VPS Anda menggunakan <a href=\"\/id\/tutorial\/cara-menggunakan-putty-untuk-ssh-ke-vps\">klien SSH seperti PuTTY<\/a>. Kemudian, gunakan <a href=\"\/id\/tutorial\/perintah-dasar-linux\">perintah Linux<\/a> berikut untuk mencantumkan semua image Docker di sistem Anda:<\/p><pre class=\"wp-block-preformatted\">sudo docker images<\/pre><p>Untuk melihat informasi selengkapnya tentang image Docker yang ada, gunakan perintah berikut:<\/p><pre class=\"wp-block-preformatted\">sudo docker images --help<\/pre><p>Gunakan opsi <strong>-q<\/strong> melalui command prompt untuk mencantumkan ID numerik image yang tersedia di sistem Anda:<\/p><pre class=\"wp-block-preformatted\">sudo docker images -q<\/pre><p>Untuk mencantumkan semua image tidak terkait (non-dangling) yang tidak ditandai atau dirujuk oleh container baru, gunakan command berikut:<\/p><pre class=\"wp-block-preformatted\">sudo docker images -f dangling=false<\/pre><p>Untuk tutorial ini, kami akan mengambil (pull) image berdasarkan <strong>MySQL<\/strong>. Anda bisa mengunjungi halaman setiap image untuk melihat informasi selengkapnya.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1356\" height=\"284\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/public\" alt=\"image docker\" class=\"wp-image-34802\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/w=1356,fit=scale-down 1356w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2024\/03\/image-docker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1356px) 100vw, 1356px\" \/><\/figure><\/div><p>Impor image baru ke direktori saat ini dengan menjalankan perintah berikut. Jangan lupa untuk mengganti <strong><strong>&lt;image name or image id&gt;<\/strong><\/strong> dengan nama atau ID image yang Anda pilih:<\/p><pre class=\"wp-block-preformatted\">docker pull &lt;image name or image id&gt;<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/tutorial\/wp-content\/uploads\/sites\/37\/2024\/03\/menginstal-image-di-docker.png\" alt=\"menginstal image di docker\"><\/figure><\/div><p>Atau, Anda bisa membuat image Docker menggunakan <a href=\"https:\/\/easypanel.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Easypanel<\/a>. Tool ini menyediakan GUI untuk menyederhanakan pengelolaan image Docker, terutama bagi user yang belum terbiasa dengan operasi command line.<\/p><p>EasyPanel mempermudah pembuatan image Docker untuk aplikasi yang ditulis dalam berbagai bahasa pemrograman, seperti Node.js, Ruby, Python, PHP, Go, dan Java. Tool ini mengotomatiskan banyak proses yang diperlukan dalam membuat lingkungan dan dependensi.<\/p><p><a href=\"\/id\/hosting-vps\">Paket VPS hosting<\/a> yang tersedia di Hostinger menawarkan template <strong>Ubuntu 22.04 64bit with EasyPanel<\/strong>, yang juga bisa diinstal melalui menu <strong>Sistem Operasi<\/strong> di dashboard VPS.<\/p><p>Anda boleh menggunakan template berbasis Docker atau template yang diinstal menggunakan EasyPanel. Pilih metode mana pun sesuai keahlian dan persyaratan proyek Anda, baik Docker untuk sistem kontrol yang lebih menyeluruh atau EasyPanel yang lebih mudah.<\/p><h3 class=\"wp-block-heading\" id=\"h-2-tulis-dockerfile\">2. Tulis Dockerfile<\/h3><p>Dockerfile adalah file teks yang memberi tahu Docker tentang cara image Anda dibuat. Dockerfile mencantumkan semua perintah Docker yang diperlukan untuk menyatukan image container.<\/p><p>Dengan Dockerfile, image akan selalu dibuat dengan cara yang sama sehingga prosesnya akan lebih konsisten dan lebih mudah dikelola.<\/p><p>Berikut adalah contoh template Dockerfile sederhana:<\/p><pre class=\"wp-block-preformatted\">FROM ubuntu:latest\nWORKDIR \/app\nCOPY . .\nRUN apt-get update &amp;&amp; apt-get install -y curl\nCMD [\"curl\", \"https:\/\/www.example.com\"]<\/pre><p>Dalam Dockerfile, setiap command akan menciptakan lapisan baru di image Docker. Berikut adalah cara kerjanya, seperti yang ditunjukkan dalam contoh kami:<\/p><ul class=\"wp-block-list\">\n<li><strong>FROM ubuntu:latest<\/strong> &#8210; Perintah ini mengambil parent image Ubuntu terbaru dan menetapkannya sebagai lapisan dasar. Lapisan-lapisan berikutnya akan didasarkan padanya.<\/li>\n\n\n\n<li><strong>WORKDIR \/app<\/strong> &#8210; Menetapkan direktori kerja container, membuat layer baru yang berfungsi sebagai konteks untuk command selanjutnya.<\/li>\n\n\n\n<li><strong>COPY . .<\/strong> &#8210; Menyalin file lokal ke dalam folder yang sama dengan container, membuat lapisan tambahan yang berisi file proyek Anda.<\/li>\n\n\n\n<li><strong>RUN apt-get update &amp;&amp; apt-get install -y curl<\/strong> &#8210; Command <strong>run<\/strong> Docker menginstal <a href=\"\/id\/tutorial\/apa-itu-curl\">cURL<\/a> di dalam container, menambahkan lapisan baru untuk daftar paket yang diperbarui dan paket cURL yang diinstal.<\/li>\n\n\n\n<li><strong><strong>CMD [&ldquo;curl&rdquo;, &ldquo;https:\/\/www.domain.com&rdquo;]<\/strong><\/strong> &#8210; Menetapkan perintah default untuk menjalankan aplikasi saat container dimulai.<\/li>\n<\/ul><p>Setiap perubahan yang Anda lakukan saat container berjalan, seperti menambahkan atau memodifikasi file, akan ditulis ke setiap lapisan yang bisa ditulis. Dengan cara ini, Anda bisa melakukan penyesuaian sementara tanpa mempengaruhi image dasar.<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Tips Berguna<\/h4>\n                    <p>Anda boleh memilih untuk membuat Dockerfile atau tidak kalau sudah menggunakan image siap pakai dari Docker Hub. Namun, file tersebut diperlukan apabila perlu menyesuaikan atau meningkatkan image.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-3-buat-container-docker\">3. Buat Container Docker<\/h3><p>Apabila Anda membuat Dockerfile baru, buka direktori yang sama dengan file tersebut dan jalankan command <strong>build<\/strong> Docker untuk memulai proses pembuatan image baru. Ingat, ganti opsi <strong>&lt;image name or image id&gt;<\/strong> dengan nama tag Anda.<\/p><pre class=\"wp-block-preformatted\">docker build -t &lt;image name or image id&gt; .<\/pre><p>Mulai container baru dari image yang baru saja Anda buat menggunakan perintah <strong>run<\/strong> Docker:<\/p><pre class=\"wp-block-preformatted\">docker run &lt;image name or image id&gt;<\/pre><p>Atau, jalankan image siap pakai yang diimpor dari Docker Hub. Mari gunakan image MySQL yang tadi sudah diambil:<\/p><pre class=\"wp-block-preformatted\">docker run mysql<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/tutorial\/wp-content\/uploads\/sites\/37\/2024\/03\/membuat-container-docker-1024x169.png\" alt=\"membuat container docker\"><\/figure><\/div><p>Layering image yang efisien sangat penting untuk mengoptimalkan waktu pembuatan dan penggunaan resource. Setiap command dalam Dockerfile akan membuat lapisan baru, yang disimpan oleh Docker dalam cache.<\/p><p>Saat Anda membuat ulang image, Docker akan menggunakan kembali lapisan yang belum diubah sehingga mempercepat proses pembuatan.<\/p><p>Terlebih lagi, layering yang efisien bisa mengurangi ukuran image sehingga Anda bisa lebih cepat mengambil, mengirimkan (push), atau meluncurkannya (deploy). Praktik ini sangat penting untuk bisnis yang membutuhkan deployment cepat agar tidak tertinggal dari pesaing.<\/p><h3 class=\"wp-block-heading\" id=\"h-4-jalankan-dan-kelola-container\">4. Jalankan dan Kelola Container<\/h3><p>Setelah membuat image container, jalankan menggunakan perintah <strong>run<\/strong> Docker. Ganti <strong>&lt;container name&gt;<\/strong> dengan nama yang Anda pilih. Di sini, <strong>mysql bash<\/strong> menunjukkan container mana yang akan kami jalankan.<\/p><pre class=\"wp-block-preformatted\">docker run --name &lt;container name&gt; -it mysql bash<\/pre><p>Gunakan command Docker <strong>ps<\/strong> dengan opsi <strong>-a<\/strong> untuk mencantumkan container yang sedang berjalan di sistem Anda. Tambahkan <strong>sudo<\/strong> di awal perintah untuk menjalankannya dengan izin root.<\/p><pre class=\"wp-block-preformatted\">docker ps -a<\/pre><p>Gunakan command Docker berikut ini untuk melihat proses teratas suatu container:<\/p><pre class=\"wp-block-preformatted\">docker top MyContainer<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/tutorial\/wp-content\/uploads\/sites\/37\/2024\/03\/docker-top.png\" alt=\"docker top\"><\/figure><\/div><p>Untuk memetakan port antara host dan container, gunakan opsi <strong>-p<\/strong> di samping command docker <strong>run<\/strong>:<\/p><pre class=\"wp-block-preformatted\">docker run -p host_port:container_port &lt;image name&gt;<\/pre><p>Pemetaan port akan menampilkan aplikasi container Anda secara eksternal sehingga memungkinkan akses dari host machine. Proses ini sangat penting untuk web server, database, atau aplikasi apa pun yang terhubung dengan sistem eksternal.<\/p><p>Untuk menambahkan volume bagi penyimpanan tetap, gunakan opsi <strong>-v<\/strong>:<\/p><pre class=\"wp-block-preformatted\">docker run -v host_directory:container_directory &lt;image name&gt;<\/pre><p>Menambahkan <a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\" target=\"_blank\" rel=\"noreferrer noopener\">volume<\/a> akan menjadikan container Anda lebih solid, mudah dikelola, dan berperforma lebih baik. Data akan tetap utuh meskipun setup container Docker dihentikan, dihapus, atau diperbarui.<\/p><p>Selain itu, volume bisa dibagikan di antara berbagai container sehingga menyederhanakan pengelolaan data dalam setup multi-container.<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Tips Berguna<\/h4>\n                    <p>Gunakan command CLI Docker atau API Docker untuk mengelola volume.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Anda bisa membatasi resource seperti CPU dan memori dengan menggunakan opsi <strong>-cpus<\/strong> dan <strong>-memory<\/strong>. Contoh berikut ini membatasi CPU container hingga 0,5 dan RAM 500 MB.<\/p><pre class=\"wp-block-preformatted\">docker run --cpus=0.5 --memory=500m &lt;image name&gt;<\/pre><p>Masukkan perintah berikut untuk menghentikan container yang sedang berjalan:<\/p><pre class=\"wp-block-preformatted\">docker stop MyContainer<\/pre><p>Perintah berikut ini menampilkan informasi tambahan container, termasuk ID container, penggunaan CPU, dan penggunaan memori:<\/p><pre class=\"wp-block-preformatted\">docker stats<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/tutorial\/wp-content\/uploads\/sites\/37\/2024\/03\/statistik-docker-1024x67.png\" alt=\"statistik docker\"><\/figure><\/div><p>Untuk menghentikan container Docker, masukkan commant berikut pada command line:<\/p><pre class=\"wp-block-preformatted\">docker kill MyContainer<\/pre><h2 class=\"wp-block-heading\" id=\"h-tips-terbaik-membuat-container-docker\">Tips Terbaik Membuat Container Docker<\/h2><p>Berikut adalah beberapa tips terbaik untuk memastikan proses pembuatan Docker yang efisien.<\/p><p><strong>Gunakan Kodee, Asisten AI dari Hostinger<\/strong><\/p><p>Proses yang efisien akan sangat membantu saat membuat container Docker. Untungnya, klien Hostinger bisa memanfaatkan <strong>Kodee<\/strong>, asisten AI gratis kami. Mulai dari menyediakan panduan penginstalan hingga merekomendasikan command yang sesuai, asisten AI ini akan membantu Anda melakukan berbagai tugas pengelolaan VPS.<\/p><p>Fitur ini bisa diakses dari sidebar kiri dashboard <strong>VPS <\/strong>Anda. Misalnya, Anda bisa memasukkan pertanyaan tentang proses pembuatan container Docker, seperti &ldquo;bagaimana cara memperbarui container secara dinamis ketika image dasar berubah?&rdquo;<\/p><p><strong>Kodee<\/strong> akan merespons dengan jawaban yang lengkap, termasuk menjelaskan command atau skrip yang relevan.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69f06e7bf3102\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"576\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2020\/06\/contoh-penggunaan-kodee-docker.png\/public\" alt=\"tampilan kodee hostinger yang menunjukkan contoh mengelola docker\" class=\"wp-image-39979\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2020\/06\/contoh-penggunaan-kodee-docker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2020\/06\/contoh-penggunaan-kodee-docker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2020\/06\/contoh-penggunaan-kodee-docker.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2020\/06\/contoh-penggunaan-kodee-docker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p><strong>Jaga agar Container Tetap Ringan<\/strong><\/p><p>Container yang lebih kecil akan berjalan dengan lebih cepat, efisien, dan aman. Penggunaannya pun jadi lebih cepat, lebih irit resource, dan bisa memaksimalkan penggunaan hardware. Dengan lebih sedikit komponen, container ini juga mengurangi kemungkinan serangan sehingga akan meningkatkan keamanan secara keseluruhan.<\/p><p>Ikuti tips berikut ini untuk membuat container Docker yang ringan:<\/p><ul class=\"wp-block-list\">\n<li><strong>Pilihlah image dasar yang ringan<\/strong> &#8210; Kalau memiliki beberapa image yang serupa, Anda bisa membuat image dasar dengan komponen bersama dan membuat image Docker kustom darinya.<\/li>\n\n\n\n<li><strong>Terapkan pembuatan multi-stage<\/strong> &#8210; Hanya sertakan komponen penting seperti artefak dan lingkungan dalam image akhir.<\/li>\n\n\n\n<li><strong>Hapus file yang tidak perlu<\/strong> &#8210; Setelah menginstal paket, optimalkan performa aplikasi Docker Anda dengan menghapus image Docker, cache, dan file sementara yang tidak digunakan.<\/li>\n\n\n\n<li><strong>Gunakan command yang spesifik<\/strong> &#8210; Gabungkan command menjadi satu command line untuk mengurangi lapisan image. Selain itu, hindari menginstal paket tidak penting yang direkomendasikan atau disarankan.<\/li>\n<\/ul><p><strong>Gunakan Image Resmi<\/strong><\/p><p>Menggunakan image resmi dari Docker Hub untuk membuat image Docker akan membuat prosesnya lebih aman, optimal, dan efisien untuk container Anda. Image ini biasanya disesuaikan untuk kasus penggunaan tertentu, menjadi titik awal yang efisien untuk mengembangkan aplikasi yang canggih dan efisien.<\/p><p>Dari sisi keamanan, image resmi sudah menjalani pemeriksaan keamanan menyeluruh dan langsung mendapatkan patch kalau ada kerentanan. Selain itu, karena digunakan secara luas, image resmi sudah teruji dengan baik serta kompatibel dengan berbagai konfigurasi dan platform.<\/p><p><strong>Batasi Izin Container<\/strong><\/p><p>Menjalankan container dengan hak istimewa tambahan bisa menimbulkan risiko keamanan. Hacker bisa memperoleh akses penuh atas sistem Anda kalau container dibobol saat berjalan dengan akses root.<\/p><p>Untuk menjaga keamanan sistem, hanya berikan izin yang diperlukan pada container. Buat dan gunakan user non-root untuk menjalankan aplikasi di dalam container. Anda juga bisa mengatur container pada <strong>mode read-only<\/strong> untuk mencegah perubahan yang tidak diinginkan.<\/p><p><strong>Mengamankan Informasi Sensitif<\/strong><\/p><p>Saat container Docker dimulai, Anda bisa mengonfigurasi <a href=\"https:\/\/docs.docker.com\/compose\/environment-variables\/\" target=\"_blank\" rel=\"noreferrer noopener\">variabel lingkungan<\/a> tergantung pada aplikasi atau layanan yang berjalan di dalamnya. Beberapa variabel yang paling umum meliputi kredensial database, pengaturan aplikasi, dan nilai rahasia untuk autentikasi.<\/p><p>Variabel lingkungan memisahkan data sensitif dari kode dan image, menyembunyikannya dari pihak yang memiliki akses ke keduanya. Menggunakan variabel lingkungan juga membuat konfigurasi menjadi lebih fleksibel, karena Anda bisa dengan mudah mengubah data tanpa mengubah Dockerfile atau membuat ulang image.<\/p><p><strong>Manfaatkan Orkestrasi Container<\/strong><\/p><p>Tool orkestrasi container seperti <strong>Docker Compose<\/strong> dan <strong>Kubernetes<\/strong> mampu menyederhanakan pengelolaan aplikasi multi-container. Tool ini mempermudah deployment dengan memungkinkan Anda meluncurkan beberapa container menggunakan satu command.<\/p><p>Sebagai contoh, Anda bisa menggunakan Docker Compose untuk menginstal WordPress dengan semua komponen yang diperlukan, seperti web server dan database.<\/p><p>Tool orkestrasi juga bisa secara otomatis menyesuaikan layanan seiring dengan meningkatnya traffic. Tool ini mengatur traffic jaringan yang masuk dengan mendistribusikannya ke beberapa container untuk meningkatkan performa dan keandalan.<\/p><h2 class=\"wp-block-heading\" id=\"h-kesimpulan\">Kesimpulan<\/h2><p>Docker adalah tool yang sangat berguna bagi developer dan bisnis, menawarkan lingkungan yang konsisten, deployment yang efisien, dan pemanfaatan resource yang optimal. Dengan mempelajari cara membuat container Docker, proses pengembangan Anda pun menjadi lebih efisien dan aman.<\/p><p>Melalui artikel ini, Anda sudah mempelajari langkah-langkah membuat container dari image Docker beserta command umum yang diperlukan. Kami juga membagikan tips terbaik untuk pengelolaan container Docker yang efisien pada VPS Ubuntu 22.04.<\/p><p>Apabila Anda masih memiliki pertanyaan tentang cara membuat Docker container, sampaikan lewat kolom komentar di bawah artikel ini, ya.<\/p><h2 class=\"wp-block-heading\" id=\"h-tanya-jawab-faq-cara-membuat-container-docker\">Tanya Jawab (FAQ) Cara Membuat Container Docker<\/h2><p>Bagian ini akan menjawab beberapa pertanyaan umum tentang proses pembuatan container Docker.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69442ca44ae67\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Apa Perbedaan Image dan Container Docker?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Image Docker adalah blueprint untuk membuat container, yang menampung kode aplikasi, library, dan dependensi. Container Docker adalah versi image yang berjalan. Saat Anda memulai container dari image, sistem menciptakan lingkungan langsung tempat aplikasi bisa berjalan dan berinteraksi.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69442ca44ae6b\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Bisakah Docker Image Memiliki Beberapa Container?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ya, satu image Docker bisa digunakan untuk beberapa container. Setiap container berjalan secara independen serta memiliki resource dan pengaturannya sendiri. Dengan cara ini, Anda bisa menyesuaikan atau menjalankan aplikasi sesuai kebutuhan di berbagai lingkungan tanpa harus membuat image Docker berkali-kali sehingga akan menghemat waktu dan resource.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69442ca44ae6c\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Bisakah Image Docker Diedit?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Tidak bisa secara langsung, karena image Docker terdiri dari lapisan dengan izin read-only. Untuk melakukan perubahan, update Dockerfile atau file sumber lalu buat image baru dengan command build Docker. Karena container yang sudah ada tidak akan diperbarui secara otomatis, Anda harus menghentikannya dan membuat container baru dari image yang dibuat.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Docker adalah tool yang bisa membantu menyederhanakan proses deployment bagi developer yang sedang membangun aplikasi atau layanan yang berjalan di beberapa sistem operasi. Dengan cara membuat container Docker, Anda bisa meluncurkan beberapa aplikasi atau layanan dengan mudah pada sistem seperti VPS hosting atau dedicated machine. Docker juga ringan, lebih mudah digunakan, dan memiliki performa yang [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/id\/tutorial\/docker-container\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"","rank_math_description":"Container Docker bisa digunakan untuk mempermudah proses deployment. Cari tahu cara membuat container Docker lengkap di artikel ini yuk!","rank_math_focus_keyword":"cara membuat container docker, container docker","footnotes":""},"categories":[5096],"tags":[9049,9046,9045,7374,9047,9048,9050],"class_list":["post-9735","post","type-post","status-publish","format-standard","hentry","category-vps","tag-belajar-docker","tag-container","tag-container-docker","tag-docker","tag-docker-image","tag-image","tag-panduan-docker"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/9735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/comments?post=9735"}],"version-history":[{"count":15,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/9735\/revisions"}],"predecessor-version":[{"id":47195,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/9735\/revisions\/47195"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media?parent=9735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/categories?post=9735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/tags?post=9735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}