Dockerrrrrrrrrrrrr

mohamad mahendra
PPL D7 — Fasilkom UI
2 min readApr 18, 2019
How Docker Works

Background

Dalam membuat sebuah program, kita tidak hanya sekedar membuat program tersebut tetapi kita juga perlu memikirkan deploymentnya. Dalam melakukan deployment ini terdapat suatu masalah virtualisasi agar program dapat berjalan pada sistem operasi yang dimaksud. Bisa saja kita melakukan penyettingan server dan OS tetapi itu membutuhkan waktu yang sangat lama dan juga size yang sangat besar.

Docker si paus

Pada tahun 2013 Docker pertama kali dirilis, Docker adalah sebuah aplikasi yang berfungsi sebagai wadah/container untuk melakukan packing sebuah software secara lengkap beserta semua hal lainnya yang dibutuhkan oleh software tersebut dapat berfungsi, seperti library, OS, dan konfigurasi yang diperlukan. Pengaturan software ini akan menjadi sebuah Image (istilah yang diberikan oleh docker). Kemudian sebuah instan dari Image tersebut kemudian disebut Container. Setiap docker container, awalnya merupakan sebuah linux machine yang polos dan tidak tahu apa-apa. Dan selanjutnya, kita memberitahu container apa saja yang harus dilakukan dengan membuat dockerfile.

Dockerfile

“A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.” — docs.docker.com

Dockerfile sendiri berisi banyak hal. Pertama-tama dockerfile berisi base image apa yang akan dipakai, base image ini berisi informasi containernya apa yang perlu di install pada container. Setelah itu port yang akan dijalankan, script apa yang mau dijalankan, environment variables beserta dependencies apa saja yg harus diinstall dan command apa yang ingin dijalankan

FROM node:8-alpine

RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app

WORKDIR /home/node/app

COPY package*.json ./

USER node

RUN npm install --production

COPY --chown=node:node . .

EXPOSE 8001

CMD [ "node", "server.js" ]

Berikut adalah contoh dockerfile kami yang digunakan pada proyek ppl Customer Reminder for Repurchase

Berikut isi registry hasil Dockerfile pada portainer cs kami.

Mungkin cukup sekian pembahasan tentang docker ini, semoga dapat membantu teman teman sekalian memahami tentang docker ini. Sampai jumpa

--

--