Czytanie Dockerfiles i uruchamianie kontenerów

Konteneryzacja i wirtualizacja – podstawy

Julia Ostheimer

Freelance AI Consultant

Powtórzenie terminologii Docker

 

Od Dockerfile do kontenera Docker

Konteneryzacja i wirtualizacja – podstawy

Instrukcje Docker a polecenia Docker

  • Instrukcje Docker opisują sposób budowania obrazu Docker

Instrukcje Docker w Dockerfile

  • Polecenia Docker: polecenia przez interfejs wiersza poleceń (CLI)

Polecenia Docker w CLI

Konteneryzacja i wirtualizacja – podstawy

Format Dockerfile

 

Dockerfile - komentarz

Konteneryzacja i wirtualizacja – podstawy

Format Dockerfile

 

Dockerfile - instrukcja

Konteneryzacja i wirtualizacja – podstawy

Format Dockerfile

 

Dockerfile - polecenie instrukcji Docker

Konteneryzacja i wirtualizacja – podstawy

Format Dockerfile

 

Dockerfile - argument instrukcji Docker

Konteneryzacja i wirtualizacja – podstawy

Kolejność sekwencyjna w Dockerfiles

  • Wykonywanie w kolejności sekwencyjnej
  • Początek Dockerfile:
    • Metadane
    • Komentarze
    • Argumenty
    • Instrukcja FROM
Konteneryzacja i wirtualizacja – podstawy

Przegląd instrukcji Docker

  • Ważne instrukcje Docker
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Konteneryzacja i wirtualizacja – podstawy

Instrukcja FROM

  • Wskazuje istniejący obraz Docker
  • Definiuje obraz, na którym budujemy
    • „Punkt startowy"  

Składnia:

FROM <name_of_image>

Przykład:

# Define the image on which to build
FROM python:3.10
Konteneryzacja i wirtualizacja – podstawy

Instrukcja COPY

  • Kopiuje pliki lub katalogi
    • Ze źródła (<source>) do miejsca docelowego (<destination>)
    • Pliki potrzebne w kolejnych instrukcjach Docker  

Składnia:

COPY <source> <destination>

Przykład:

# Copy files/folders to the main folder of the container
COPY . .
Konteneryzacja i wirtualizacja – podstawy

Instrukcja RUN

  • Uruchamia polecenie wewnątrz kontenera
    • Może to być dowolne polecenie CLI

 

Składnia:

RUN <command>

Przykład:

# Install the application's dependencies
RUN pip install -r requirements.txt
Konteneryzacja i wirtualizacja – podstawy

Instrukcja ENTRYPOINT

  • Definiuje domyślne zachowanie kontenera
    • Określa polecenie uruchamiane przy starcie
    • Główny cel kontenera  

Składnia:

ENTRYPOINT ["command", "argument"]

Przykład:

# Run the script when the container starts
ENTRYPOINT ["python", "hello_world.py"]
Konteneryzacja i wirtualizacja – podstawy

Składanie instrukcji w Dockerfile

# Define the image on which to build
FROM python:3.10
Konteneryzacja i wirtualizacja – podstawy

Składanie instrukcji w Dockerfile

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

# Copy files/folders to the main folder of the container
COPY . .
Konteneryzacja i wirtualizacja – podstawy

Składanie instrukcji w 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
Konteneryzacja i wirtualizacja – podstawy

Składanie instrukcji w 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"]
Konteneryzacja i wirtualizacja – podstawy

Polecenie docker build

  • Buduje obraz Docker z Dockerfile
    • Dockerfile musi znajdować się w kontekście budowania (<context>)
    • Wykonywane jako polecenie klienta Docker przez CLI

 

Składnia:

docker build <context>
Konteneryzacja i wirtualizacja – podstawy

Polecenie docker run

  • Tworzy i uruchamia kontener Docker z obrazu Docker
    • Obraz Docker musi być podany jako argument (<name_of_image>)
    • Wykonywane jako polecenie klienta Docker przez CLI

 

Składnia:

docker run <name_of_image>
Konteneryzacja i wirtualizacja – podstawy

Czas na ćwiczenia!

Konteneryzacja i wirtualizacja – podstawy

Preparing Video For Download...