{"id":10441,"date":"2022-09-22T09:24:00","date_gmt":"2022-09-22T02:24:00","guid":{"rendered":"https:\/\/crocodic.com\/?p=10441"},"modified":"2022-11-25T10:14:59","modified_gmt":"2022-11-25T03:14:59","slug":"membangun-aplikasi-menggunakan-docker","status":"publish","type":"post","link":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/","title":{"rendered":"Membangun Aplikasi Menggunakan Docker"},"content":{"rendered":"\n<p>Ada banyak tantangan yang dihadapi oleh pengembang perangkat lunak dalam membangun <a href=\"https:\/\/crocodic.com\/en\/mobile-app-apa-yang-paling-dibutuhkan-pada-tahun-2025\/\">aplikasi<\/a> yang <em>robust<\/em>, <em>scalable <\/em>dan <em>maintainable<\/em>. Masalah yang dihadapi oleh setiap pengembang perangkat lunak salah satunya berkaitan dengan <em>deployment<\/em> yang seringkali memerlukan konfigurasi yang berbeda antara server yang digunakan untuk development dan server yang digunakan untuk deployment. Misalkan saja ketika <a href=\"https:\/\/crocodic.com\/en\/5-kesalahan-yang-sering-dilakukan-developer-mobile-apps\/\">developer<\/a> membangun aplikasi <em>backend<\/em> di windows, sedangkan OS yang digunakan untuk <em>deployment<\/em> adalah linux. Bagaimana kita menjamin bahwa aplikasi yang dikembangkan saat fase development akan berjalan lancar saat sudah di deploy ke <em>cloud environment<\/em>?&nbsp;<\/p>\n\n\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#apa-itu-docker\">Apa itu Docker?<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-perbedaan-docker-dan-kubernetes\">Perbedaan Docker dan Kubernetes<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-docker-swarm\">Docker Swarm<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-memulai-menggunakan-docker\">Memulai Menggunakan Docker<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-penjelasan-dockerfile\">Penjelasan Dockerfile<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n\n<p>Salah satu cara untuk menjamin hal tersebut yaitu dengan \u201cmembungkus\u201d aplikasi di dalam <em>virtual machine. <\/em>Namun, penggunaan <em>virtual machine <\/em>membutuhkan <em>resource <\/em>yang tidak sedikit karena harus menjalankan semua komponen OS dan melakukan virtualisasi hardware termasuk perangkat lunak yang sebenarnya tidak diperlukan oleh aplikasi kita. Docker menyelesaikan masalah ini dengan cara hanya menjalankan komponen-komponen yang diperlukan oleh aplikasi karena Docker dijalankan dengan cara \u201cmenumpang\u201d kernel sistem operasi komputer host dalam proses yang terisolasi.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/iL-FcLTtJpzRjG4y8NAjA-woudB3YX0E6wWsKgFpd7i3Gfh29RHg_ZTe0y1nH2j2RvfQr1azcSaiWhYPxOrTZRAIuGwFUaS1GX9kCp7JxzXjmIHpav6q3YgKmaeEUVOqs1vV8WWpxkXIqNOqnmJJPF852NP-bHEgwa0MCdL4HoiB295DVMAL_MXxaQ\" alt=\"\"\/><\/figure>\n\n\n\n<p><em>Gambar kiri dengan menggunakan VM, gambar kanan dengan menggunakan docker<\/em><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"apa-itu-docker\"><strong>Apa itu Docker?<\/strong><\/h1>\n\n\n\n<p>Docker sendiri sebenarnya merupakan <em>platform <\/em>untuk mengembangkan aplikasi berbasis kontainer sehingga dapat dijalankan pada semua sistem operasi yang dapat menjalankan <em>docker engine <\/em>. Pada docker terdapat beberapa istilah yang Anda perlu tahu diantaranya yaitu :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-dockerfile\">Dockerfile<\/h3>\n\n\n\n<p>Dockerfile adalah sebuah file konfigurasi yang berisi langkah-langkah untuk membangun sebuah container. Dockerfile biasanya terdiri dari beberapa <em>layer<\/em>. Setiap baris perintah pada Dockerfile yang dijalankan akan menjadi <em>layer <\/em>dan mempunyai identitas tersendiri, yang akhirnya akan digabung menjadi sebuah <em>image<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-image\">Image<\/h3>\n\n\n\n<p>Image merupakan kumpulan dari perubahan file system yang perubahannya urut berdasarkan <em>layer<\/em> Dockerfile dan disimpan menjadi sebuah file <em>immutable <\/em>untuk menjalankan sebuah container.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-container\">Container<\/h3>\n\n\n\n<p>Container adalah unit dari aplikasi yang telah disatukan dengan dependensinya sehingga langsung dapat dijalankan sebagai <em>executable <\/em>menggunakan docker engine<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-perbedaan-docker-dan-kubernetes\"><strong>Perbedaan Docker dan Kubernetes<\/strong><\/h2>\n\n\n\n<p>Docker sendiri merupakan <em>container runtime<\/em>, sedangkan Kubernetes merupakan <em>container orchestration tool <\/em>yang fungsinya adalah untuk melakukan manajemen pada banyak <em>container runtime, <\/em>dan tidak hanya terbatas menggunakan Docker.<em> <\/em>Kubernetes dapat digunakan untuk men-deploy banyak container sekaligus ke kumpulan komputer host (atau biasa disebut cluster) dan dilengkapi dengan fitur <em>load balancing, auto scale, dan auto healing.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-docker-swarm\"><strong>Docker Swarm<\/strong><\/h2>\n\n\n\n<p>Sama halnya dengan Kubernetes, docker swarm juga merupakan salah satu <em>container orchestration tool <\/em>untuk melakukan management pada banyak <em>container <\/em>di banyak host, perbedaan keduanya hanya pada fitur tambahan yang ditawarkan, yang mana kubernetes lebih cocok digunakan pada aplikasi kompleks yang membutuhkan monitoring.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"aioseo-memulai-menggunakan-docker\"><strong>Memulai Menggunakan Docker<\/strong><\/h1>\n\n\n\n<p>Percobaan kali ini kita akan membuat aplikasi API simple menggunakan Node JS express yang menampilkan response \u2018Hello Docker!\u2019<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Instal docker sesuai dengan OS yang Anda gunakan. Petunjuk instalasi dapat anda lihat disini <a href=\"https:\/\/docs.docker.com\/desktop\/\">https:\/\/docs.docker.com\/desktop\/<\/a><\/li><li>Buatlah satu folder baru dengan nama hello-docker<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ mkdir hello-docker\n$ cd hello-docker<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li>Lalu jalankan perintah npm init untuk membuat project node js<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ npm init<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\"><li>Buatlah file baru dengan nama index.js , lalu copy kode javascript dibawah<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code><em>\/\/to run : node filename.js<\/em><br><em>const<\/em> express = require('express')<br><em>const<\/em> <a href=\"https:\/\/crocodic.com\/en\/cristiano-ronaldo-luncurkan-app-all-in-one-wellness-erakulis\/\">app<\/a> = express()<br><em>const<\/em> port = 3000<br>app.get('\/', (<em>req<\/em>, <em>res<\/em>) =&gt; res.send('Hello Docker!'))<br>app.listen(port, () =&gt; console.log(`listening at http:\/\/localhost:${port}`))<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\"><li>Buatlah file baru dengan nama Dockerfile , lalu copy kode dibawah<\/li><\/ol>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>FROM node:16-alpine<br>COPY package.json package.json<br>RUN npm install<br>COPY . .<br>CMD node index.js<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<ol class=\"wp-block-list\" start=\"6\"><li>Lalu jalankan perintah untuk membuat docker image<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker build . -t hello-docker<img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/BddSxMJoHxklcZ_Wfwr6yPV7zxCW9Dy0w6c5xjm1VOilb1P0T_TNcqQrL2buDDArrflo0bMtC8SgKOhwuELt9Td27ALkiAVDSR7HZmO2_pjHfhj8zeY7JDwxM1PvZi7fql5fJsDG7-kDi3tX-k2CX3WPEgi83e5-Nt__zvI7cyAD-xbCP0aO1h9Qyg\" width=\"602\" height=\"325\"><\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"7\"><li>Lalu jalankan docker image yang telah dibuat dengan perintah<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker run -p 0.0.0.0:3000:3000 -d hello-docker<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"8\"><li>Akses aplikasi yang telah anda buat di http:\/\/localhost:3000\/<\/li><\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-penjelasan-dockerfile\">Penjelasan Dockerfile :<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>FROM node:16-alpine<\/li><\/ul>\n\n\n\n<p>menggunakan node js 16 alpine sebagai <em>base image. <\/em>Salah satu <em>best practice <\/em>dalam membuat Dockerfile yaitu langsung menggunakan <em>base image<\/em> aplikasi seperti node, python, golang, mysql, dll dibandingkan dengan menggunakan <em>base image<\/em> OS seperti ubuntu, debian, dll. Daftar base image dapat Anda eksplorasi lebih jauh di <a href=\"https:\/\/crocodic.com\/en\/8-alasan-mengapa-perawatan-maintenance-website-mutlak-dilakukan-secara-profesional\/\">website<\/a> docker hub<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>COPY package.json package.json<\/li><\/ul>\n\n\n\n<p>Menyalin file package.json ke dalam image<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>RUN npm install<\/li><\/ul>\n\n\n\n<p>Menjalankan perintah npm install untuk mengunduh dependensi project<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>COPY . .<\/li><\/ul>\n\n\n\n<p>Menyalin semua file di folder project ke dalam image<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>CMD node index.js<\/li><\/ul>\n\n\n\n<p>Menjalankan perintah node index.js untuk menjalankan aplikasi<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Jika anda perhatikan diatas, perintah copy dijalankan 2x dan file package.json terpisah, mengapa demikian? Hal ini dikarenakan Docker akan melakukan <em>cache <\/em>pada setiap <em>layer<\/em>. Jadi file yang tidak berubah tidak akan dibuild ulang oleh docker sehingga mempercepat waktu build. Dalam hal ini package.json hanya berisi informasi project dan list dependensi, selama tidak ada penambahan dependensi maka perintah docker build tidak akan menjalankan perintah copy package.json dan run npm install sehingga mempercepat proses build karena tidak ada proses unduh dependensi. Dapat anda lihat pada gambar langkah ke-6 terdapat label <strong>CACHED<\/strong> pada perintah COPY dan RUN npm install.<\/p>\n\n\n\n<p>Tips : <em>rule of thumb<\/em> pembuatan Dockerfile dimulai dari dependensi yang paling jarang berubah yang biasanya adalah <em>base image<\/em>.<br>Source code dapat Anda unduh disini : <a href=\"https:\/\/github.com\/wahyudotdev\/hello-docker\">https:\/\/github.com\/wahyudotdev\/hello-docker<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n<p>[postingan tag=&#8221;mobile-apps-development&#8221;][\/postingan]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ada banyak tantangan yang dihadapi oleh pengembang perangkat lunak dalam membangun aplikasi yang robust, scalable dan maintainable. Masalah yang dihadapi oleh setiap pengembang perangkat lunak salah satunya berkaitan dengan deployment yang seringkali memerlukan konfigurasi yang berbeda antara server yang digunakan untuk development dan server yang digunakan untuk deployment. Misalkan saja ketika developer membangun aplikasi backend [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10493,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[470,1],"tags":[521],"class_list":["post-10441","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-apps-development","category-uncategorized","tag-mobile-app-development-with-docker"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"crocodic\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Crocodic - Adaptive Business Systems Partner\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Docker dan Fungsinya Dalam Pengembangan Mobile Apps\" \/>\n\t\t<meta property=\"og:description\" content=\"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-09-22T02:24:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-11-25T03:14:59+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Docker dan Fungsinya Dalam Pengembangan Mobile Apps\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#blogposting\",\"name\":\"Docker dan Fungsinya Dalam Pengembangan Mobile Apps\",\"headline\":\"Membangun Aplikasi Menggunakan Docker\",\"author\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/author\\\/crocodic\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/crocodic.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/download.png\",\"width\":443,\"height\":114,\"caption\":\"Docker\"},\"datePublished\":\"2022-09-22T09:24:00+07:00\",\"dateModified\":\"2022-11-25T10:14:59+07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#webpage\"},\"articleSection\":\"Mobile Apps Development, Uncategorized, mobile app development with docker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/crocodic.com\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/#listItem\",\"name\":\"Crocodic Development\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/#listItem\",\"position\":2,\"name\":\"Crocodic Development\",\"item\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/mobile-apps-development\\\/#listItem\",\"name\":\"Mobile Apps Development\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/mobile-apps-development\\\/#listItem\",\"position\":3,\"name\":\"Mobile Apps Development\",\"item\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/mobile-apps-development\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#listItem\",\"name\":\"Membangun Aplikasi Menggunakan Docker\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/#listItem\",\"name\":\"Crocodic Development\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#listItem\",\"position\":4,\"name\":\"Membangun Aplikasi Menggunakan Docker\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/category\\\/crocodic-dec\\\/mobile-apps-development\\\/#listItem\",\"name\":\"Mobile Apps Development\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#organization\",\"name\":\"Crocodic\",\"description\":\"Kami sebagai software house yang fokus pada custom software, ERP dan solusi AI yang adaptif untuk enterprise di Indonesia. Dipercaya 320+ perusahaan sejak 2009\",\"url\":\"https:\\\/\\\/crocodic.com\\\/en\\\/\",\"email\":\"marketing@crocodic.com\",\"telephone\":\"+6282138272707\",\"foundingDate\":\"2009-10-08\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"value\":50},\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/crocodic.com\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/cropped-fav_icon_crocrocodic-2.png\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#organizationLogo\",\"width\":512,\"height\":512,\"caption\":\"logo crocodic\"},\"image\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/crocodic.indonesia\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/crocodic-studio\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/author\\\/crocodic\\\/#author\",\"url\":\"https:\\\/\\\/crocodic.com\\\/en\\\/author\\\/crocodic\\\/\",\"name\":\"crocodic\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0d835630b56f7f0aa04435379772f319d996dd51c89765f8f96e6a3ceb1e8155?s=96&r=g\",\"width\":96,\"height\":96,\"caption\":\"crocodic\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#webpage\",\"url\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/\",\"name\":\"Docker dan Fungsinya Dalam Pengembangan Mobile Apps\",\"description\":\"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/author\\\/crocodic\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/author\\\/crocodic\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/crocodic.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/download.png\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#mainImage\",\"width\":443,\"height\":114,\"caption\":\"Docker\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/membangun-aplikasi-menggunakan-docker\\\/#mainImage\"},\"datePublished\":\"2022-09-22T09:24:00+07:00\",\"dateModified\":\"2022-11-25T10:14:59+07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/crocodic.com\\\/en\\\/\",\"name\":\"Crocodic\",\"description\":\"Adaptive Business Systems Partner\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/crocodic.com\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","description":"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?","canonical_url":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#blogposting","name":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","headline":"Membangun Aplikasi Menggunakan Docker","author":{"@id":"https:\/\/crocodic.com\/en\/author\/crocodic\/#author"},"publisher":{"@id":"https:\/\/crocodic.com\/en\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/crocodic.com\/wp-content\/uploads\/2022\/09\/download.png","width":443,"height":114,"caption":"Docker"},"datePublished":"2022-09-22T09:24:00+07:00","dateModified":"2022-11-25T10:14:59+07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#webpage"},"isPartOf":{"@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#webpage"},"articleSection":"Mobile Apps Development, Uncategorized, mobile app development with docker"},{"@type":"BreadcrumbList","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/crocodic.com\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/#listItem","name":"Crocodic Development"}},{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/#listItem","position":2,"name":"Crocodic Development","item":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/","nextItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/#listItem","name":"Mobile Apps Development"},"previousItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/#listItem","position":3,"name":"Mobile Apps Development","item":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/","nextItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#listItem","name":"Membangun Aplikasi Menggunakan Docker"},"previousItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/#listItem","name":"Crocodic Development"}},{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#listItem","position":4,"name":"Membangun Aplikasi Menggunakan Docker","previousItem":{"@type":"ListItem","@id":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/#listItem","name":"Mobile Apps Development"}}]},{"@type":"Organization","@id":"https:\/\/crocodic.com\/en\/#organization","name":"Crocodic","description":"Kami sebagai software house yang fokus pada custom software, ERP dan solusi AI yang adaptif untuk enterprise di Indonesia. Dipercaya 320+ perusahaan sejak 2009","url":"https:\/\/crocodic.com\/en\/","email":"marketing@crocodic.com","telephone":"+6282138272707","foundingDate":"2009-10-08","numberOfEmployees":{"@type":"QuantitativeValue","value":50},"logo":{"@type":"ImageObject","url":"https:\/\/crocodic.com\/wp-content\/uploads\/2023\/07\/cropped-fav_icon_crocrocodic-2.png","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#organizationLogo","width":512,"height":512,"caption":"logo crocodic"},"image":{"@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#organizationLogo"},"sameAs":["https:\/\/www.instagram.com\/crocodic.indonesia\/","https:\/\/www.linkedin.com\/company\/crocodic-studio\/"]},{"@type":"Person","@id":"https:\/\/crocodic.com\/en\/author\/crocodic\/#author","url":"https:\/\/crocodic.com\/en\/author\/crocodic\/","name":"crocodic","image":{"@type":"ImageObject","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0d835630b56f7f0aa04435379772f319d996dd51c89765f8f96e6a3ceb1e8155?s=96&r=g","width":96,"height":96,"caption":"crocodic"}},{"@type":"WebPage","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#webpage","url":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/","name":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","description":"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/crocodic.com\/en\/#website"},"breadcrumb":{"@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#breadcrumblist"},"author":{"@id":"https:\/\/crocodic.com\/en\/author\/crocodic\/#author"},"creator":{"@id":"https:\/\/crocodic.com\/en\/author\/crocodic\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/crocodic.com\/wp-content\/uploads\/2022\/09\/download.png","@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#mainImage","width":443,"height":114,"caption":"Docker"},"primaryImageOfPage":{"@id":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/#mainImage"},"datePublished":"2022-09-22T09:24:00+07:00","dateModified":"2022-11-25T10:14:59+07:00"},{"@type":"WebSite","@id":"https:\/\/crocodic.com\/en\/#website","url":"https:\/\/crocodic.com\/en\/","name":"Crocodic","description":"Adaptive Business Systems Partner","inLanguage":"en-US","publisher":{"@id":"https:\/\/crocodic.com\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"Crocodic - Adaptive Business Systems Partner","og:type":"article","og:title":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","og:description":"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?","og:url":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/","og:image":"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png","og:image:secure_url":"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png","og:image:width":1200,"og:image:height":300,"article:published_time":"2022-09-22T02:24:00+00:00","article:modified_time":"2022-11-25T03:14:59+00:00","twitter:card":"summary_large_image","twitter:title":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","twitter:description":"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?","twitter:image":"https:\/\/crocodic.com\/wp-content\/uploads\/2025\/10\/crocodic-landscape-logo.png"},"aioseo_meta_data":{"post_id":"10441","title":"Docker dan Fungsinya Dalam Pengembangan Mobile Apps","description":"Untuk mengembangkan mobile apps yang robust, scalable dan maintainable, kita dapat menggunakan Docker. Apa itu Docker dan bagaimana fungsinya?","keywords":[],"keyphrases":{"focus":{"keyphrase":"docker","score":80,"analysis":{"keyphraseInTitle":{"title":"Focus keyphrase in SEO title","description":"Focus keyphrase found in SEO title.","score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"title":"Focus keyphrase in meta description","description":"Focus keyphrase found in meta description.","score":9,"maxScore":9,"error":0},"keyphraseLength":{"title":"Focus keyphrase length","description":"Good job!","score":9,"maxScore":9,"error":0,"length":1},"keyphraseInURL":{"title":"Focus keyphrase in URL","description":"Focus keyphrase used in the URL.","score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"title":"Focus keyphrase in introduction","description":"Your Focus keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.","score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"title":"Focus keyphrase in Subheadings","description":"Your H2 and H3 subheadings reflects the topic of your copy. Good job!","score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":{"title":"Focus keyphrase in image alt attributes","description":"Focus keyphrase not found in image alt attribute(s). Add an image with your Focus keyphrase as alt text.","score":3,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2022-09-28 05:24:36","updated":"2026-04-03 03:59:06","seo_analyzer_scan_date":null,"focus_keyword":"docker","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/crocodic.com\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/\" title=\"Crocodic Development\">Crocodic Development<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/\" title=\"Mobile Apps Development\">Mobile Apps Development<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMembangun Aplikasi Menggunakan Docker\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/crocodic.com\/en\/"},{"label":"Crocodic Development","link":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/"},{"label":"Mobile Apps Development","link":"https:\/\/crocodic.com\/en\/category\/crocodic-dec\/mobile-apps-development\/"},{"label":"Membangun Aplikasi Menggunakan Docker","link":"https:\/\/crocodic.com\/en\/membangun-aplikasi-menggunakan-docker\/"}],"_links":{"self":[{"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/posts\/10441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/comments?post=10441"}],"version-history":[{"count":10,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/posts\/10441\/revisions"}],"predecessor-version":[{"id":11436,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/posts\/10441\/revisions\/11436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/media\/10493"}],"wp:attachment":[{"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/media?parent=10441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/categories?post=10441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crocodic.com\/en\/wp-json\/wp\/v2\/tags?post=10441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}