Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
30.10.2024

Cum să utilizați un fișier Docker pentru a crea o imagine Docker

Dockerizați-vă aplicațiile pe AlexHost: Stăpânirea fișierelor Docker

De ce să utilizați Docker pe AlexHost? Un fișier Docker scrie mediul aplicației dvs., făcându-l portabil și consecvent. Serverele VPS și dedicate de înaltă performanță de la AlexHost, cu stocare NVMe și acces root, oferă o platformă robustă pentru a construi și implementa aplicații Dockerizate precum Node.js sau WordPress. Acest ghid explică fișierele Docker și cum să le creați, să le construiți și să le rulați pe AlexHost în 2025.

Ghid pas cu pas pentru crearea unui fișier Dockerfile și construirea unei imagini

Pasul 1: Creați-vă proiectul

Pentru a începe, aveți nevoie de o aplicație simplă pentru containerizare. Pentru acest exemplu, vom crea o aplicație Node.js de bază. Dacă nu aveți instalat Node.js, puteți urma acești pași pentru a crea o aplicație Node.js simplă

  1. Creați un director de proiect:
create a new project folder: mkdir my-docker-app
cd my-docker-app
  1. Creați un fișier package.json pentru aplicația dvs. Node.js:
npm init -y
  1. Creați un fișier server.js:
touch server.js
  1. Adăugați următorul conținut la fișierul server.js:

const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => { res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello Worldn'); });
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/); });

Pasul 2: Scrieți fișierul Docker

Odată ce aveți aplicația principală, următorul pas este să creați un fișier Docker care va fi utilizat pentru a construi o imagine Docker pentru aplicația respectivă

  1. Creați fișierul Docker în directorul rădăcină al proiectului:
tap Dockerfile
  1. Adăugați instrucțiuni la fișierul Dockerfile:

Iată un fișier Docker simplu pentru aplicația dvs. Node.js:

FROM node:14   # Use an official Node.js runtime as a base image
WORKDIR /app # Set the working directory inside the container
COPY package*.json ./ # Copy package.json and install dependencies
RUN npm install
COPY . .  # Copy the rest of the application code
EXPOSE 3000  # Expose the port that the app runs on
CMD ["node", "server.js"] # Command to run the application

Explicația fișierului Docker:

  • FROM: Specifică imaginea de bază pe care să vă construiți imaginea. În acest caz, este imaginea oficială Node.js 14.
  • WORKDIR: Specifică directorul de lucru în container. Toate comenzile ulterioare se vor executa în acest director.
  • COPY: Copiază fișiere din mașina gazdă în containerul Docker
    • COPY package*.json ./: Aceasta copiază fișierele package.json și package-lock.json .
    • COPY ..: Copiază întregul proiect în container.
  • RUN: Execută o comandă în container, în acest caz executând npm install pentru a instala dependențele Node.js.
  • EXPOSE: Informează Docker că containerul este ascultat pe portul 3000.
  • CMD: Specifică comanda care trebuie executată în container la pornirea acestuia (în acest caz, rularea aplicației Node.js cu node server.js).

Pasul 3: Construiți imaginea Docker

După ce ați pregătit fișierul Docker, puteți construi imaginea Docker utilizând comanda docker build

  1. În directorul proiectului, executați următoarea comandă:
docker build -t my-docker-app .

Iată ce face comanda

  • t my-docker-app.
  • Butonul . specifică directorul curent (unde se află fișierul Docker).

Docker va procesa fișierul Docker pas cu pas, construind imaginea în conformitate cu instrucțiunile dvs. Dacă totul este configurat corect, ar trebui să vedeți un mesaj că imaginea a fost construită cu succes

Pasul 4: Porniți containerul Docker

Odată ce imaginea este construită, puteți crea și rula un container utilizând comanda docker run

docker run -p 3001:3000 my-docker-app
  • p 3000:3000: Potrivește portul 3000 de pe mașina dvs. locală cu portul 3000 din container.
  • my-docker-app: Numele imaginii Docker pe care ați creat-o.

Ar trebui să vedeți mesajul: Serverul rulează la http://0.0.0.0:3001/.Pentru a testa aplicația, deschideți browserul web sau utilizați curl pentru a vizita

Ar trebui să vedeți “Hello World” scris pe el .

Pasul 5: Trimiteți imaginea Docker la Docker Hub (opțional)

Dacă doriți să partajați imaginea dvs. cu alții sau să o găzduiți pe un server, o puteți trimite la Docker Hub

  1. Mai întâi, conectați-vă la Docker Hub:
docker Login
  1. Apoi etichetați imaginea cu numele dvs. de utilizator în Docker Hub:
docker tag my-docker-app your-dockerhub-username/my-docker-app
  1. Trimiteți imaginea la Docker Hub:
docker push your-dockerhub-username/my-docker-app

Imaginea dvs. Docker este acum disponibilă public (sau privat) în Docker Hub

Cele mai bune practici pentru Dockerfile

  • Utilizați imagini de bază mici și specifice: dacă este posibil, utilizați imagini de bază ușoare, cum ar fi alpine, pentru a reduce dimensiunea imaginii.
  • Reduceți la minimum numărul de straturi: Fiecare comandă din dockerfile creează un nou strat. Încercați să minimizați numărul de straturi prin combinarea comenzilor ori de câte ori este posibil (de exemplu, utilizați && pentru a combina mai multe comenzi într-o singură instrucțiune RUN ).
  • Utilizați compilarea în mai multe etape: aceasta ajută la reducerea dimensiunii imaginii finale prin separarea mediului de compilare de mediul de execuție.
  • Utilizați cache-ul: Docker stochează în cache fiecare strat al imaginii, astfel încât reutilizarea acelorași comenzi (cum ar fi COPY și RUN) ajută la accelerarea compilărilor ulterioare.

Concluzie: Dockerizați cu AlexHost

Fișierele Docker vă fac aplicațiile portabile și scalabile, iar VPS-ul alimentat cu NVMe de la AlexHost asigură compilări și implementări rapide. Creați fișiere Docker simplificate, utilizați compilări în mai multe etape și securizați cu UFW. Fie că este vorba de o aplicație Node.js sau WordPress, accesul la rădăcină și suportul AlexHost fac din Docker o floare la ureche – containerizați-vă aplicația și implementați-o cu încredere astăzi!

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills