Citirea Dockerfile-urilor și rularea containerelor

Concepte de containerizare și virtualizare

Julia Ostheimer

Freelance AI Consultant

Recapitularea termenilor Docker

 

De la Dockerfile la container Docker

Concepte de containerizare și virtualizare

Instrucțiuni Docker vs. comenzi Docker

  • Instrucțiunile Docker detaliază modul de construire a unei imagini Docker

Instrucțiuni Docker în Dockerfile

  • Comenzi Docker: comenzi prin interfața liniei de comandă (CLI)

Comenzi Docker în CLI

Concepte de containerizare și virtualizare

Formatul unui Dockerfile

 

Dockerfile - Comentariu

Concepte de containerizare și virtualizare

Formatul unui Dockerfile

 

Dockerfile - Instrucțiune

Concepte de containerizare și virtualizare

Formatul unui Dockerfile

 

Dockerfile - Comanda instrucțiunii Docker

Concepte de containerizare și virtualizare

Formatul unui Dockerfile

 

Dockerfile - Argumentul instrucțiunii Docker

Concepte de containerizare și virtualizare

Ordinea secvențială în Dockerfile-uri

  • Execuție în ordine secvențială
  • Începutul unui Dockerfile:
    • Metadate
    • Comentarii
    • Argumente
    • Instrucțiunea FROM
Concepte de containerizare și virtualizare

Prezentare generală a instrucțiunilor Docker

  • Instrucțiuni Docker importante
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Concepte de containerizare și virtualizare

Instrucțiunea FROM

  • Specifică o imagine Docker existentă
  • Definește imaginea pe care o construim
    • „Punct de plecare"  

Sintaxă:

FROM <name_of_image>

Exemplu:

# Define the image on which to build
FROM python:3.10
Concepte de containerizare și virtualizare

Instrucțiunea COPY

  • Copiază fișiere sau directoare
    • Din sursă (<source>) în destinație (<destination>)
    • Fișiere necesare instrucțiunilor Docker ulterioare  

Sintaxă:

COPY <source> <destination>

Exemplu:

# Copy files/folders to the main folder of the container
COPY . .
Concepte de containerizare și virtualizare

Instrucțiunea RUN

  • Rulează o comandă în interiorul unui container
    • Poate fi orice comandă executabilă în CLI

 

Sintaxă:

RUN <command>

Exemplu:

# Install the application's dependencies
RUN pip install -r requirements.txt
Concepte de containerizare și virtualizare

Instrucțiunea ENTRYPOINT

  • Definește comportamentul implicit al containerului
    • Specifică comanda executată la inițializare
    • Scopul principal al containerului  

Sintaxă:

ENTRYPOINT ["command", "argument"]

Exemplu:

# Run the script when the container starts
ENTRYPOINT ["python", "hello_world.py"]
Concepte de containerizare și virtualizare

Asamblarea instrucțiunilor în Dockerfile

# Define the image on which to build
FROM python:3.10
Concepte de containerizare și virtualizare

Asamblarea instrucțiunilor în Dockerfile

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

# Copy files/folders to the main folder of the container
COPY . .
Concepte de containerizare și virtualizare

Asamblarea instrucțiunilor în 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
Concepte de containerizare și virtualizare

Asamblarea instrucțiunilor în 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"]
Concepte de containerizare și virtualizare

Comanda docker build

  • Construiește o imagine Docker dintr-un Dockerfile
    • Dockerfile-ul trebuie să fie în contextul build-ului (<context>)
    • Executat ca o comandă prin Docker CLI

 

Sintaxă:

docker build <context>
Concepte de containerizare și virtualizare

Comanda docker run

  • Creează și rulează un container Docker dintr-o imagine Docker
    • Imaginea Docker trebuie specificată ca argument (<name_of_image>)
    • Executat ca o comandă prin Docker CLI

 

Sintaxă:

docker run <name_of_image>
Concepte de containerizare și virtualizare

Să exersăm!

Concepte de containerizare și virtualizare

Preparing Video For Download...