Zgjidhur: shembull dockerfile

Problemi kryesor në lidhje me një shembull Dockerfile është se ai mund të mos jetë i përshtatshëm për të gjitha rastet e përdorimit. Një Dockerfile është një grup udhëzimesh që përdoren për të ndërtuar një imazh dhe mund të personalizohet për aplikacione dhe mjedise të ndryshme. Si i tillë, një shembull Dockerfile mund të mos përmbajë udhëzimet e nevojshme për aplikacionin ose mjedisin tuaj specifik. Për më tepër, sintaksa e një Dockerfile mund të ndryshojë në varësi të versionit të Docker që përdoret, kështu që një shembull nga një version mund të mos funksionojë në një tjetër.

FROM python:3.7

WORKDIR /app

COPY requirements.txt . 
RUN pip install -r requirements.txt 
COPY . . 
EXPOSE 5000 
ENTRYPOINT ["python"] 
CMD ["app.py"]

1. “FROM python:3.7” – Kjo linjë specifikon imazhin bazë që do të përdoret për kontejnerin Docker, në këtë rast versioni Python 3.7.

2. “WORKDIR /app” – Kjo linjë vendos drejtorinë e punës së kontejnerit në “/app”.

3. "Kërkesat për kopjimin.txt." – Kjo linjë kopjon një skedar të quajtur "requirements.txt" nga makina lokale në drejtorinë aktuale të punës të kontejnerit (në këtë rast "/app").

4. “RUN pip install -r requirements.txt” – Kjo linjë ekzekuton një komandë brenda kontejnerit e cila përdor pip për të instaluar të gjitha paketat e listuara në kërkesat.txt në mjedisin e kontejnerit.

5.” KOPJE . .” – Kjo linjë kopjon të gjithë skedarët dhe dosjet nga kompjuteri juaj lokal në drejtorinë aktuale të punës të kontejnerit tuaj (në këtë rast “/app”).

6.”EXPOSE 5000″ – Kjo linjë ekspozon portin 5000 në kontejnerin tuaj Docker, duke e lejuar atë të aksesohet nga burime të jashtme, si p.sh. një shfletues uebi ose aplikacione të tjera që funksionojnë në kompjuterin ose rrjetin tuaj.

7.”ENTRYPOINT [“python”]” – Kjo linjë cakton një pikë hyrjeje për kontejnerin tuaj Docker, që do të thotë se kur ta ekzekutoni, ajo do të ekzekutojë automatikisht çdo komandë të specifikuar këtu (në këtë rast, ekzekutimin e Python).

8.”CMD [“app.py”]” – Së fundi, kjo linjë specifikon se çfarë komande duhet të ekzekutohet kur ekzekutoni kontejnerin tuaj Docker (në këtë rast, ekzekutoni një skedar të quajtur app.py).

Rreth platformës Docker

Docker është një platformë me burim të hapur për ndërtimin, dërgimin dhe ekzekutimin e aplikacioneve. Ai përdor teknologjinë e kontejnerëve për të paketuar aplikacionet në kontejnerë të izoluar në mënyrë që ato të mund të vendosen shpejt në çdo sistem. Docker u mundëson zhvilluesve të krijojnë dhe vendosin shpejt aplikacionet në një mënyrë të sigurt dhe efikase.

Python është një gjuhë programimi popullore e përdorur nga shumë zhvillues për krijimin e aplikacioneve në ueb, projekte të shkencës së të dhënave, modele të mësimit të makinerive dhe më shumë. Me Docker, zhvilluesit e Python mund ta paketojnë lehtësisht kodin e tyre në kontejnerë që janë të lëvizshëm nëpër sisteme dhe mjedise të ndryshme. Kjo e bën më të lehtë zhvillimin dhe vendosjen e aplikacioneve Python në çdo platformë ose ofrues cloud pa u shqetësuar për çështjet e pajtueshmërisë ose varësitë. Për më tepër, Docker ofron një mënyrë të thjeshtë për të menaxhuar versione të shumta të bibliotekave dhe kornizave të Python me regjistrin e tij të integruar të imazheve. Kjo i lejon zhvilluesit të kalojnë shpejt midis versioneve të ndryshme të së njëjtës bibliotekë ose kornizë pa pasur nevojë t'i instalojnë ato manualisht në secilin sistem që përdorin.

Çfarë është një Dockerfile

Një Dockerfile është një dokument teksti që përmban të gjitha komandat që një përdorues mund të thërrasë në vijën e komandës për të mbledhur një imazh. Përdoret për të krijuar një imazh Docker, i cili më pas mund të përdoret për të krijuar kontejnerë. Një Dockerfile zakonisht përmban udhëzime se si të ndërtohet dhe ekzekutohet një aplikacion, si dhe çdo varësi tjetër që i nevojitet për të ekzekutuar siç duhet. Është shkruar duke përdorur gjuhën e programimit Python dhe mund të përdoret me ndonjë nga teknologjitë e njohura të kontejnerëve si Kubernetes ose Docker Swarm.

Si mund të shkruaj Dockerfile

Një Dockerfile është një dokument teksti që përmban të gjitha komandat që një përdorues mund të thërrasë në vijën e komandës për të mbledhur një imazh. Në thelb është një grup udhëzimesh që i tregojnë Docker-it se si të ndërtojë imazhin tuaj.

Për të shkruar një Dockerfile në Python, duhet të filloni duke specifikuar imazhin bazë që dëshironi të përdorni. Kjo mund të bëhet duke përdorur udhëzimin FROM. Për shembull, nëse dëshironi të përdorni Ubuntu si imazhin tuaj bazë, do të shkruanit:

NGA ubuntu: më i fundit

Më pas, duhet të instaloni çdo paketë dhe bibliotekë të nevojshme për aplikacionin tuaj. Kjo mund të bëhet duke përdorur udhëzimet RUN dhe komandat apt-get ose pip. Për shembull, nëse dëshironi të instaloni Flask dhe varësitë e tij, do të shkruani:

RUN Apt-get update && apt-get install -y python3 python3-pip && pip3 flask install

Pasi të instalohen të gjitha paketat tuaja, është koha për të kopjuar çdo kod burim ose skedar konfigurimi në kontejner. Kjo mund të bëhet duke përdorur udhëzimin COPY i ndjekur nga shtegu i skedarit burimor dhe shtegu i destinacionit brenda kontejnerit. Për shembull:

KOPJO ./app /app/

Më në fund, është koha për të specifikuar se cila komandë duhet të ekzekutohet kur ekzekutohet ky kontejner me docker run. Kjo bëhet me instruksionin CMD të ndjekur nga çfarëdo komande që duhet të ekzekutohet gjatë ekzekutimit të këtij kontejneri. Për shembull:

CMD ["python3", "/app/main.py"]

Mesazhe të ngjashme:

Lini një koment