{"id":146,"date":"2024-10-12T08:33:08","date_gmt":"2024-10-12T01:33:08","guid":{"rendered":"https:\/\/notes.its.ac.id\/ruhendrawan\/?p=146"},"modified":"2024-10-13T23:12:10","modified_gmt":"2024-10-13T16:12:10","slug":"instalasi-docker-di-macos","status":"publish","type":"post","link":"https:\/\/notes.its.ac.id\/ruhendrawan\/instalasi-docker-di-macos","title":{"rendered":"Docker di MacOS"},"content":{"rendered":"<p><code>Docker<\/code> sangat berguna untuk mengemas aplikasi serta dependensinya menjadi <code>image<\/code> yang dijalankan sebagai <code>container<\/code>. Kita bisa memasang Aplikasi di komputer lain (macOS, Linux, Windows ) tanpa ribet setting ulang, tanpa drama &quot;Kemarin di komputer saya bisa kok!&quot;<\/p>\n<p>Proses <em>deployment<\/em> lebih mudah. <code>Image<\/code> dapat dibangun di laptop, dibagikan lewat <code>Docker Hub<\/code> dan <em>pull<\/em> ke server.<\/p>\n<p>Instalasi Docker di MacOS sangat mudah. Beberapa diskusi di forum menyarankan untuk menggunakan <code>OrbStack<\/code> dibanding <code>Docker Desktop<\/code>. Katanya sih lebih cepat, ringan, dan mudah digunakan.<\/p>\n<p>Installer bisa didapatkan dari situs resmi <a href=\"https:\/\/orbstack.dev\/download\">OrbStack<\/a>,<br \/>\ntetapi saya lebih suka menginstall dari terminal menggunakan perintah berikut:<\/p>\n<pre><code class=\"language-bash\">brew install --cask orbstack\n<\/code><\/pre>\n<p>Setelah instalasi berhasil, buka aplikasi <code>OrbStack<\/code> untuk mengaktifkan layanan <code>docker daemon<\/code> yang dibutuhkan untuk &quot;memproses&quot; perintah <code>docker<\/code>.<\/p>\n<hr>\n<p>Perintah untuk membangun image dari <code>Dockerfile<\/code> dapat dijalankan:<\/p>\n<pre><code class=\"language-bash\">docker build -t aplikasi .\n<\/code><\/pre>\n<p>Melihat daftar image yang sudah dibuat:<\/p>\n<pre><code class=\"language-bash\">docker image ls\n<\/code><\/pre>\n<p>Image tersebut dapat pasang sebagai <code>container<\/code> baru dengan:<\/p>\n<pre><code class=\"language-bash\">docker run -d -p 80:80 aplikasi\n<\/code><\/pre>\n<p>Menampilkan daftar container yang aktif:<\/p>\n<pre><code class=\"language-bash\">docker container ls\n<\/code><\/pre>\n<p>Serta mengecek <code>container<\/code> yang sedang menyala:<\/p>\n<pre><code class=\"language-bash\">docker ps\n<\/code><\/pre>\n<hr>\n<p>Sebagai pengguna kasual-profesional, saya lebih suka <code>OrbStack<\/code> dibandingkan <code>Docker Desktop<\/code> karena aplikasi ini tidak semena-mena memasang untuk dijalankan setiap awal booting (bisa diatur di &quot;Setting&quot; <code>Cmd+,<\/code> -&gt; &quot;Start at login&quot;). Selain itu, fiturnya lebih mudah dipahami dan lebih mudah dimatikan. Dan, sepertinya benar terasa lebih ringan.<\/p>\n<p><code>Docker Desktop<\/code> dan <code>OrbStack<\/code> membutuhkan <code>service<\/code> atau &quot;background process&quot;, yang berjalan di balik layar meskipun tidak dipakai. Padahal, lumayan juga penggunaan sumber daya yang dibutuhkan untuk menjaga service tetap standby.<\/p>\n<p>Sehingga demi penghematan maksimal, kaum fakir memori dan CPU akan sering menutup aplikasi. Namun, menutup aplikasi dengan menekan tombol silang atau <code>Cmd+W<\/code> hanya akan menyembunyikan antarmuka.<\/p>\n<p>Menonaktifkan aplikasi sepenuhnya dapat dilakukan dengan <code>Cmd+Q<\/code> atau menuju ke menu OrbStack dan memilih <code>Quit OrbStack<\/code>. Jangan kuatir, ketika aplikasi dijalankan nanti, maka <code>service<\/code>  juga akan dinyalakan secara otomatis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker sangat berguna untuk mengemas aplikasi serta dependensinya menjadi image yang dijalankan sebagai container. Kita bisa memasang Aplikasi di komputer lain (macOS, Linux, Windows )&hellip;<\/p>\n","protected":false},"author":1286,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[4],"class_list":["post-146","post","type-post","status-publish","format-standard","hentry","category-web-deployment","tag-docker"],"_links":{"self":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/users\/1286"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":15,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":222,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/146\/revisions\/222"}],"wp:attachment":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}