{"id":13125,"date":"2023-02-02T10:01:00","date_gmt":"2023-02-02T03:01:00","guid":{"rendered":"https:\/\/www.jetorbit.com\/blog\/?p=13125"},"modified":"2023-01-30T11:25:44","modified_gmt":"2023-01-30T04:25:44","slug":"cara-install-dan-menggunakan-docker-di-ubuntu-20-04","status":"publish","type":"post","link":"https:\/\/www.jetorbit.com\/blog\/cara-install-dan-menggunakan-docker-di-ubuntu-20-04\/","title":{"rendered":"Cara Install dan Menggunakan Docker di Ubuntu 20.04"},"content":{"rendered":"\n<p>Ingin tahu lebih detail terkait bagaimana cara install dan menggunakan Docker? Okay, langsung simak yuk sampai kelar <strong>Cara Install dan Menggunakan Docker di Ubuntu 20.04<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apa Itu Docker?<\/strong><\/h2>\n\n\n\n<p><a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker <\/a>adalah sebuah aplikasi yang bersifat <em>open source<\/em> yang berfungsi sebagai wadah atau <em>container <\/em>untuk mengepak atau memasukkan sebuah <em>software <\/em>secara lengkap beserta semua hal lainnya yang dibutuhkan oleh <em>software <\/em>tersebut dapat berfungsi.<\/p>\n\n\n\n<p>Pengaturan <em>software <\/em>beserta file atau hal pendukung lainnya akan menjadi sebuah Image (istilah yang diberikan oleh docker). Lalu, sebuah instan dari Image tersebut kemudian disebut Container.<\/p>\n\n\n\n<p>Kali ini akan dibahas mengenai cara install dan menggunakan Docker di Ubuntu 20.04.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Persyaratan<\/strong><\/h3>\n\n\n\n<p>Terdapat beberapa persyaratan sebelum melakukan instalasi.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Memiliki VPS yang aktif dengan OS Ubuntu 20.04.<\/li><li>Memiliki akses root.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cara Install dan Menggunakan Docker di Ubuntu 20.04<\/strong><\/h2>\n\n\n\n<p>Berikut ini cara <em>install <\/em>dan menggunakan Docker di Ubuntu 20.04 yang bisa kalian terapkan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Update Server<\/strong><\/h3>\n\n\n\n<p>Login sebagai root ke server dan update server untuk memastikan <em>packages<\/em>-nya sudah <em>up-to-date<\/em>.<\/p>\n\n\n\n<p>$ apt-get update -y<\/p>\n\n\n\n<p>$ reboot<\/p>\n\n\n\n<p>Install beberapa packages yang dibutuhkan.<\/p>\n\n\n\n<p>$ apt-get install nano perl wget curl -y<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Install Firewall<\/strong><\/h3>\n\n\n\n<p>Sebelum kalian memulai, perlu instalasi Firewall supaya lebih <em>secure<\/em>. Pada Firewall ini menggunakan CSF (ConfigServer Security &amp; Firewall). Instalasinya dengan perintah di bawah ini:<\/p>\n\n\n\n<p>$ cd \/usr\/src\/<\/p>\n\n\n\n<p>$ wget https:\/\/download.configserver.com\/csf.tgz<\/p>\n\n\n\n<p>$ tar -xzf csf.tgz<\/p>\n\n\n\n<p>$ cd csf\/<\/p>\n\n\n\n<p>$ sh install.sh<\/p>\n\n\n\n<p>Pada konfigurasi CSF rubah \u201cmake TESTING=\u20191\u2019 menjadi 0\u201d.<\/p>\n\n\n\n<p>$ nano \/etc\/csf\/csf.conf<\/p>\n\n\n\n<p>Jika sudah, <strong>save <\/strong>dan <strong>exit<\/strong>.<\/p>\n\n\n\n<p>Lalu <em>restart <\/em>CSF supaya reload konfigurasi yang ter-<em>update<\/em>.<\/p>\n\n\n\n<p>$ csf -r&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Install Docker<\/strong><\/h3>\n\n\n\n<p>Docker Package tersedia di official ubuntu repository yang mungkin tidak <em>up-to-date <\/em>atau tidak <em>latest<\/em>. Nah, untuk mendapatkan versi yang <em>latest<\/em>, perlu install Docker melalui official Docker repository.<\/p>\n\n\n\n<p>Add GPG key pada official Docker repository ke server kalian.<\/p>\n\n\n\n<p>$ curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add &#8211;<\/p>\n\n\n\n<p>Add Docker repository ke APT source.<\/p>\n\n\n\n<p>$ add-apt-repository &#8220;deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu focal stable&#8221;<\/p>\n\n\n\n<p>Pastikan kalian install Docker melalui Ubuntu repo.<\/p>\n\n\n\n<p>$ apt-cache policy docker-ce<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<p>docker-ce:<\/p>\n\n\n\n<p>&nbsp;&nbsp;Installed: (none)<\/p>\n\n\n\n<p>&nbsp;&nbsp;Candidate: 5:20.10.22~3-0~ubuntu-focal<\/p>\n\n\n\n<p>&nbsp;&nbsp;Version table:<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5:20.10.22~3-0~ubuntu-focal 500<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;500 https:\/\/download.docker.com\/linux\/ubuntu focal\/stable amd64 Packages<\/p>\n\n\n\n<p>Pastikan bahwa docker-ce tidak terinstall karena instalasinya nanti melalui Docker repository untuk Ubuntu 20.04 (focal).<\/p>\n\n\n\n<p>Install Docker<\/p>\n\n\n\n<p>$ apt-get install docker-ce -y<\/p>\n\n\n\n<p>Start dan enable on-boot docker service.<\/p>\n\n\n\n<p>$ systemctl start docker<\/p>\n\n\n\n<p>$ systemctl enable docker<\/p>\n\n\n\n<p>Cek status docker<\/p>\n\n\n\n<p>$ systemctl status docker<\/p>\n\n\n\n<p>&nbsp;docker.service &#8211; Docker Application Container Engine<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loaded: loaded (\/lib\/systemd\/system\/docker.service; enabled; vendor preset: enabled)<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Active: <strong>active (running)<\/strong> since Wed 2022-12-21 07:00:54 UTC; 16min ago<\/p>\n\n\n\n<p>TriggeredBy: \u25cf docker.socket<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Docs: https:\/\/docs.docker.com<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;Main PID: 4700 (dockerd)<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tasks: 8<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Memory: 21.1M<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGroup: \/system.slice\/docker.service<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u2514\u25004700 \/usr\/bin\/dockerd -H fd:\/\/ &#8211;containerd=\/run\/containerd\/containerd.sock<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Menggunakan Docker Command<\/strong><\/h3>\n\n\n\n<p>Menggunakan Docker terdiri dari meneruskan rangkaian opsi dan perintah yang diikuti dengan argumen, contoh syntaxnya:<\/p>\n\n\n\n<p>$ docker [option] [command] [arguments]<\/p>\n\n\n\n<p>Untuk melihat subcommands yang tersedia:<\/p>\n\n\n\n<p>$ docker<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p>&nbsp;&nbsp;attach&nbsp; &nbsp; &nbsp; Attach local standard input, output, and error streams to a running container<\/p>\n\n\n\n<p>&nbsp;&nbsp;build &nbsp; &nbsp; &nbsp; Build an image from a Dockerfile<\/p>\n\n\n\n<p>&nbsp;&nbsp;commit&nbsp; &nbsp; &nbsp; Create a new image from a container&#8217;s changes<\/p>\n\n\n\n<p>&nbsp;&nbsp;cp&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Copy files\/folders between a container and the local filesystem<\/p>\n\n\n\n<p>&nbsp;&nbsp;create&nbsp; &nbsp; &nbsp; Create a new container<\/p>\n\n\n\n<p>&nbsp;&nbsp;diff&nbsp; &nbsp; &nbsp; &nbsp; Inspect changes to files or directories on a container&#8217;s filesystem<\/p>\n\n\n\n<p>&nbsp;&nbsp;events&nbsp; &nbsp; &nbsp; Get real time events from the server<\/p>\n\n\n\n<p>&nbsp;&nbsp;exec&nbsp; &nbsp; &nbsp; &nbsp; Run a command in a running container<\/p>\n\n\n\n<p>&nbsp;&nbsp;export&nbsp; &nbsp; &nbsp; Export a container&#8217;s filesystem as a tar archive<\/p>\n\n\n\n<p>&nbsp;&nbsp;history &nbsp; &nbsp; Show the history of an image<\/p>\n\n\n\n<p>&nbsp;&nbsp;images&nbsp; &nbsp; &nbsp; List images<\/p>\n\n\n\n<p>&nbsp;&nbsp;import&nbsp; &nbsp; &nbsp; Import the contents from a tarball to create a filesystem image<\/p>\n\n\n\n<p>&nbsp;&nbsp;info&nbsp; &nbsp; &nbsp; &nbsp; Display system-wide information<\/p>\n\n\n\n<p>&nbsp;&nbsp;inspect &nbsp; &nbsp; Return low-level information on Docker objects<\/p>\n\n\n\n<p>&nbsp;&nbsp;kill&nbsp; &nbsp; &nbsp; &nbsp; Kill one or more running containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;load&nbsp; &nbsp; &nbsp; &nbsp; Load an image from a tar archive or STDIN<\/p>\n\n\n\n<p>&nbsp;&nbsp;login &nbsp; &nbsp; &nbsp; Log in to a Docker registry<\/p>\n\n\n\n<p>&nbsp;&nbsp;logout&nbsp; &nbsp; &nbsp; Log out from a Docker registry<\/p>\n\n\n\n<p>&nbsp;&nbsp;logs&nbsp; &nbsp; &nbsp; &nbsp; Fetch the logs of a container<\/p>\n\n\n\n<p>&nbsp;&nbsp;pause &nbsp; &nbsp; &nbsp; Pause all processes within one or more containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;port&nbsp; &nbsp; &nbsp; &nbsp; List port mappings or a specific mapping for the container<\/p>\n\n\n\n<p>&nbsp;&nbsp;ps&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;pull&nbsp; &nbsp; &nbsp; &nbsp; Pull an image or a repository from a registry<\/p>\n\n\n\n<p>&nbsp;&nbsp;push&nbsp; &nbsp; &nbsp; &nbsp; Push an image or a repository to a registry<\/p>\n\n\n\n<p>&nbsp;&nbsp;rename&nbsp; &nbsp; &nbsp; Rename a container<\/p>\n\n\n\n<p>&nbsp;&nbsp;restart &nbsp; &nbsp; Restart one or more containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;rm&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remove one or more containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;rmi &nbsp; &nbsp; &nbsp; &nbsp; Remove one or more images<\/p>\n\n\n\n<p>&nbsp;&nbsp;run &nbsp; &nbsp; &nbsp; &nbsp; Run a command in a new container<\/p>\n\n\n\n<p>&nbsp;&nbsp;save&nbsp; &nbsp; &nbsp; &nbsp; Save one or more images to a tar archive (streamed to STDOUT by default)<\/p>\n\n\n\n<p>&nbsp;&nbsp;search&nbsp; &nbsp; &nbsp; Search the Docker Hub for images<\/p>\n\n\n\n<p>&nbsp;&nbsp;start &nbsp; &nbsp; &nbsp; Start one or more stopped containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;stats &nbsp; &nbsp; &nbsp; Display a live stream of container(s) resource usage statistics<\/p>\n\n\n\n<p>&nbsp;&nbsp;stop&nbsp; &nbsp; &nbsp; &nbsp; Stop one or more running containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;tag &nbsp; &nbsp; &nbsp; &nbsp; Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE<\/p>\n\n\n\n<p>&nbsp;&nbsp;top &nbsp; &nbsp; &nbsp; &nbsp; Display the running processes of a container<\/p>\n\n\n\n<p>&nbsp;&nbsp;unpause &nbsp; &nbsp; Unpause all processes within one or more containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;update&nbsp; &nbsp; &nbsp; Update configuration of one or more containers<\/p>\n\n\n\n<p>&nbsp;&nbsp;version &nbsp; &nbsp; Show the Docker version information<\/p>\n\n\n\n<p>&nbsp;&nbsp;wait&nbsp; &nbsp; &nbsp; &nbsp; Block until one or more containers stop, then print their exit codes<\/p>\n\n\n\n<p>Untuk mengetahui informasi Docker pada server.<\/p>\n\n\n\n<p>$ docker info<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Menggunakan Docker Images<\/strong><\/h3>\n\n\n\n<p>Docker containers dibuat dari image docker. Secara default, Docker mengambil image ini dari Docker Hub, sebuah registry Docker yang dikelola oleh Docker, perusahaan dibalik proyek Docker.<\/p>\n\n\n\n<p>Siapapun dapat menghosting docker images pada Docker Hub, sehingga sebagian besar aplikasi dan distribusi Linux yang diperlukan akan memiliki images di sana.<\/p>\n\n\n\n<p>Untuk mengecek akses dan download images dari Docker Hub menggunakan perintah di bawah ini.<\/p>\n\n\n\n<p>$ docker run hello-world<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<p>Unable to find image &#8216;hello-world:latest&#8217; locally<\/p>\n\n\n\n<p>latest: Pulling from library\/hello-world<\/p>\n\n\n\n<p>2db29710123e: Pull complete&nbsp;<\/p>\n\n\n\n<p>Digest: sha256:c77be1d3a47d0caf71a82dd893ee61ce01f32fc758031a6ec4cf1389248bb833<\/p>\n\n\n\n<p>Status: Downloaded newer image for hello-world:latest<\/p>\n\n\n\n<p>Hello from Docker!<\/p>\n\n\n\n<p>This message shows that your installation appears to be working correctly.<\/p>\n\n\n\n<p>\u2026<\/p>\n\n\n\n<p>Docker awalnya tidak dapat menemukan images dari hello-world secara lokal sehingga Docker mengambil atau mengunduh images nya dari Docker Hub, yang merupakan repository default. Setelah images di-<em>download<\/em>, Docker membuat kontainer dari images tersebut dan aplikasi nya berada dalam container.<\/p>\n\n\n\n<p>Selain itu, bisa juga mencari images yang tersedia di Docker Hub dengan menggunakan perintah docker dengan sub perintah search. Misalnya, untuk mencari image nginx, seperti berikut.<\/p>\n\n\n\n<p>$ docker search nginx<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/01\/Cara-Install-dan-Menggunakan-Docker-di-Ubuntu-20.04-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"306\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/01\/Cara-Install-dan-Menggunakan-Docker-di-Ubuntu-20.04-1.png\" alt=\"cara install docker\" class=\"wp-image-13126\" \/><\/a><\/figure><\/div>\n\n\n<p>Pada kolom OFFICIAL, OK menunjukkan image yang dibuat dan didukung oleh perusahaan dibalik <em>project <\/em>tersebut. Setelah kalian mengidentifikasi <em>image <\/em>yang akan digunakan, kalian bisa <em>download <\/em>menggunakan sub perintah pull.<\/p>\n\n\n\n<p>$ docker pull nginx<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<p>Using default tag: latest<\/p>\n\n\n\n<p>latest: Pulling from library\/nginx<\/p>\n\n\n\n<p>025c56f98b67: Pull complete&nbsp;<\/p>\n\n\n\n<p>ec0f5d052824: Pull complete&nbsp;<\/p>\n\n\n\n<p>cc9fb8360807: Pull complete&nbsp;<\/p>\n\n\n\n<p>defc9ba04d7c: Pull complete&nbsp;<\/p>\n\n\n\n<p>885556963dad: Pull complete&nbsp;<\/p>\n\n\n\n<p>f12443e5c9f7: Pull complete&nbsp;<\/p>\n\n\n\n<p>Digest: sha256:ff5d8d8389474b6ad895ec6089e926711ce2af5939860488938f394298eedea9<\/p>\n\n\n\n<p>Status: Downloaded newer image for nginx:latest<\/p>\n\n\n\n<p>docker.io\/library\/nginx:latest<\/p>\n\n\n\n<p>Setelah <em>image <\/em>di-<em>download<\/em>, bisa menjalankan container menggunakan <em>images <\/em>yang sebelumnya di-<em>download<\/em> dengan sub perintah run.<\/p>\n\n\n\n<p>Seperti yang dilihat sebelumnya pada contoh hello-world, jika <em>image <\/em>belum di-<em>download<\/em> saat docker dijalankan dengan sub perintah run, Docker client akan <em>download image<\/em>-nya lebih dulu lalu menjalankan <em>container <\/em>dengan menggunakannya.<\/p>\n\n\n\n<p>$ docker images<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<p>REPOSITORY&nbsp; &nbsp; TAG &nbsp; &nbsp; &nbsp; IMAGE ID &nbsp; &nbsp; &nbsp; CREATED &nbsp; &nbsp; &nbsp; &nbsp; SIZE<\/p>\n\n\n\n<p>nginx &nbsp; &nbsp; &nbsp; &nbsp; latest&nbsp; &nbsp; 3964ce7b8458 &nbsp; 7 days ago&nbsp; &nbsp; &nbsp; 142MB<\/p>\n\n\n\n<p>hello-world &nbsp; latest&nbsp; &nbsp; feb5d9fea6a5 &nbsp; 15 months ago &nbsp; 13.3kB<\/p>\n\n\n\n<p>Nah, jadi, apabila kalian mengikuti artikel ini secara keseluruhan, artinya kalian sudah berhasil dan mengetahui cara install dan menggunakan Docker di Ubuntu 20.04.<\/p>\n\n\n\n<p>Semoga bermanfaat dan tunggu info-info menarik lainnya dari kami, ya \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ingin tahu lebih detail terkait bagaimana cara install dan menggunakan Docker? Okay, langsung simak yuk sampai kelar Cara Install dan Menggunakan Docker di Ubuntu 20.04 Apa Itu Docker? Docker adalah sebuah aplikasi yang bersifat open source yang berfungsi sebagai wadah atau container untuk mengepak atau memasukkan sebuah software secara lengkap beserta semua hal lainnya yang &#8230; <a title=\"Cara Install dan Menggunakan Docker di Ubuntu 20.04\" class=\"read-more\" href=\"https:\/\/www.jetorbit.com\/blog\/cara-install-dan-menggunakan-docker-di-ubuntu-20-04\/\" aria-label=\"Read more about Cara Install dan Menggunakan Docker di Ubuntu 20.04\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":13139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"generate_page_header":"","footnotes":""},"categories":[9],"tags":[3576,3575,4309,283,7,3581,4308],"class_list":["post-13125","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-apa-itu-docker","tag-docker-adalah","tag-docker-images","tag-domain-murah","tag-hosting-murah","tag-install-docker","tag-ubuntu-20-04","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"_links":{"self":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/comments?post=13125"}],"version-history":[{"count":1,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13125\/revisions"}],"predecessor-version":[{"id":13127,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13125\/revisions\/13127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media\/13139"}],"wp:attachment":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media?parent=13125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/categories?post=13125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/tags?post=13125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}