Agik Setiawan - January 20, 2023

Docker - Berkenalan dengan Image dan Cara Membuat Image

 

Apa itu Image?


Image di dalam Docker adalah Instance container yang berisi software atau tools yang dibundling supaya berjalan sebagai aplikasi atau berjalan sebagai instance yang akan di pakai oleh Image atau Container lain.

 

Contoh Image:

  • nginx
  • mysql
  • Ubuntu
  • Debian


Dari contoh Image diatas bisa di ambil kesimpulan bahwa Image bisa bermacam2 bentuk bukan hanya Web Server tetapi bisa berupa Database, OS dan masih banyak yang lainya.

Contoh membuat Image aplikasi berbasis Node JS


Pada tutorial ini saya kan memberikan contoh membuat Image aplikasi berbasis Node JS dari Instance Image Node JS.


Masuk ke dalam root Project, kemudian buatlah file ‘Dockerfile’ dengan isi seperti berikut:

 

FROM node:18-slim  as builder

WORKDIR /usr/src/app


COPY package*.json ./

RUN yarn install

COPY . .

# RUN yarn --omit=dev

RUN yarn build

# RUN ls -a


FROM node:18-slim as production

# RUN sh ./rm.sh

ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

WORKDIR /usr/src/app

COPY --from=builder /usr/src/app/dist ./dist
COPY --from=builder /usr/src/app/node_modules ./node_modules

CMD ["node", "dist/main.js"]


Pada Dockerfile diatas bisa dilihat bahwa Image yang di pakai untuk membuat Image Nest JS adalah Image dari Node JS (node:18-slim) yang berasal dari Docker Registry Docker Hub


Kemudian Build image dengan memasukan perintah

docker build -t mistercoding/aplikasi-nestjs .

Artinya kita akan membuat Image dengan nama mistercoding/aplikasi-nestjs


Tunggu sampai proses pembuatan Image selesai, dan pastikan Intenet yang di pakai memiliki koneksi yang bagus dan stabil. karena akan berpengaruh dalam proses pembuatan Image.


Untuk memastikan Image yang kita buat sudah berhasil, bisa dengan menjalankan image yang kita buat dengan memasukan perintah:

docker run --rm -p 3000:3000 mistercoding/aplikasi-nestjs

atau run menggunakan Docker Compose, buatlah file dengan nama docker-compose.yaml

version: "3.8"

services:
  app:
    image: mistercoding/aplikasi-nestjs
    ports:
      - 3000:3000

lalu masukan perintah

docker compose up

lalu buka browser ’http://localhost:3000’ untuk melihat hasilnya.

Share


Comments