Membaca Dockerfile dan menjalankan container

Konsep Containerization dan Virtualization

Julia Ostheimer

Freelance AI Consultant

Ringkasan istilah Docker

 

Dari Dockerfile ke container Docker

Konsep Containerization dan Virtualization

Instruksi Docker vs. perintah Docker

  • Instruksi Docker menjelaskan cara membangun image Docker

Instruksi Docker di Dockerfile

  • Perintah Docker: Perintah lewat Command Line Interface (CLI)

Perintah Docker di CLI

Konsep Containerization dan Virtualization

Format Dockerfile

 

Dockerfile - Komentar

Konsep Containerization dan Virtualization

Format Dockerfile

 

Dockerfile - Instruksi

Konsep Containerization dan Virtualization

Format Dockerfile

 

Dockerfile - Perintah dari instruksi Docker

Konsep Containerization dan Virtualization

Format Dockerfile

 

Dockerfile - Argumen dari instruksi Docker

Konsep Containerization dan Virtualization

Urutan dalam Dockerfile

  • Dieksekusi berurutan
  • Awal Dockerfile:
    • Metadata
    • Komentar
    • Argumen
    • Instruksi FROM
Konsep Containerization dan Virtualization

Ringkasan instruksi Docker

  • Instruksi Docker penting
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Konsep Containerization dan Virtualization

Instruksi FROM

  • Menentukan image Docker yang sudah ada
  • Mendefinisikan image dasar
    • "Titik awal"  

Sintaks:

FROM <name_of_image>

Contoh:

# Tentukan image dasar
FROM python:3.10
Konsep Containerization dan Virtualization

Instruksi COPY

  • Menyalin file atau direktori
    • Dari sumber (<source>) ke tujuan (<destination>)
    • File yang dibutuhkan oleh instruksi berikutnya  

Sintaks:

COPY <source> <destination>

Contoh:

# Salin file/folder ke folder utama container
COPY . .
Konsep Containerization dan Virtualization

Instruksi RUN

  • Menjalankan perintah di dalam container
    • Perintah apa pun yang bisa dijalankan di CLI

 

Sintaks:

RUN <command>

Contoh:

# Instal dependensi aplikasi
RUN pip install -r requirements.txt
Konsep Containerization dan Virtualization

Instruksi ENTRYPOINT

  • Menetapkan perilaku default container
    • Menentukan perintah saat inisiasi
    • Tujuan utama container  

Sintaks:

ENTRYPOINT ["command", "argument"]

Contoh:

# Jalankan skrip saat container mulai
ENTRYPOINT ["python", "hello_world.py"]
Konsep Containerization dan Virtualization

Menyusun instruksi ke Dockerfile

# Define the image on which to build
FROM python:3.10
Konsep Containerization dan Virtualization

Menyusun instruksi ke Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .
Konsep Containerization dan Virtualization

Menyusun instruksi ke Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .

# Install the application's dependencies
RUN pip install -r requirements.txt
Konsep Containerization dan Virtualization

Menyusun instruksi ke Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .

# Install the application's dependencies
RUN pip install -r requirements.txt

# Run the script when the container starts
ENTRYPOINT ["python", "hello_world.py"]
Konsep Containerization dan Virtualization

Perintah docker build

  • Membangun image Docker dari Dockerfile
    • Dockerfile harus berada di konteks build (<context>)
    • Dijalankan sebagai perintah via Docker CLI

 

Sintaks:

docker build <context>
Konsep Containerization dan Virtualization

Perintah docker run

  • Membuat dan menjalankan container dari image Docker
    • Nama image harus ditentukan sebagai argumen (<name_of_image>)
    • Dijalankan sebagai perintah via Docker CLI

 

Sintaks:

docker run <name_of_image>
Konsep Containerization dan Virtualization

Ayo berlatih!

Konsep Containerization dan Virtualization

Preparing Video For Download...