Rešeno: primer dockerfile

Glavna težava v zvezi s primerom datoteke Dockerfile je, da morda ni primeren za vse primere uporabe. Datoteka Docker je niz navodil, ki se uporabljajo za izdelavo slike in jo je mogoče prilagoditi za različne aplikacije in okolja. Kot taka vzorčna datoteka Docker morda ne vsebuje potrebnih navodil za vašo specifično aplikacijo ali okolje. Poleg tega se sintaksa datoteke Docker lahko razlikuje glede na uporabljeno različico Dockerja, zato primer iz ene različice morda ne bo deloval v drugi.

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« – ta vrstica določa osnovno sliko za uporabo za vsebnik Docker, v tem primeru Python različice 3.7.

2. “WORKDIR /app” – Ta vrstica nastavi delovni imenik vsebnika na “/app”.

3. »KOPIRAJ requirements.txt.« – Ta vrstica prekopira datoteko z imenom »requirements.txt« iz lokalnega računalnika v trenutni delovni imenik vsebnika (v tem primeru »/app«).

4. »ZAŽENI pip install -r requirements.txt« – Ta vrstica zažene ukaz znotraj vsebnika, ki uporablja pip za namestitev vseh paketov, navedenih v requirements.txt, v okolje vsebnika.

5.”KOPIRAJ. .” – Ta vrstica kopira vse datoteke in mape iz vašega lokalnega računalnika v trenutni delovni imenik vašega vsebnika (v tem primeru »/app«).

6.»EXPOSE 5000″ – Ta vrstica razkrije vrata 5000 na vašem vsebniku Docker, kar omogoča dostop do njih iz zunanjih virov, kot je spletni brskalnik ali druge aplikacije, ki se izvajajo v vašem računalniku ali omrežju.

7.»ENTRYPOINT [»python«]« – Ta vrstica nastavi vstopno točko za vaš vsebnik Docker, kar pomeni, da bo, ko ga zaženete, samodejno izvede kateri koli ukaz, ki je tukaj naveden (v tem primeru izvaja Python).

8.»CMD [»app.py«]« – Končno ta vrstica določa, kateri ukaz naj se izvede, ko zaženete vsebnik Docker (v tem primeru zaženete datoteko z imenom app.py).

O platformi Docker

Docker je odprtokodna platforma za gradnjo, pošiljanje in izvajanje aplikacij. Uporablja tehnologijo vsebnikov za pakiranje aplikacij v izolirane vsebnike, tako da jih je mogoče hitro namestiti v kateri koli sistem. Docker razvijalcem omogoča hitro ustvarjanje in uvajanje aplikacij na varen in učinkovit način.

Python je priljubljen programski jezik, ki ga uporabljajo številni razvijalci za ustvarjanje spletnih aplikacij, podatkovnih znanstvenih projektov, modelov strojnega učenja itd. Z Dockerjem lahko razvijalci Pythona preprosto pakirajo svojo kodo v vsebnike, ki so prenosljivi v različnih sistemih in okoljih. To olajša razvoj in uvajanje aplikacij Python na kateri koli platformi ali ponudniku oblaka, ne da bi vas skrbelo zaradi težav z združljivostjo ali odvisnosti. Poleg tega Docker ponuja preprost način za upravljanje več različic knjižnic in ogrodij Python z vgrajenim registrom slik. To razvijalcem omogoča hitro preklapljanje med različnimi različicami iste knjižnice ali ogrodja, ne da bi jih morali ročno namestiti v vsak sistem, ki ga uporabljajo.

Kaj je Dockerfile

Dockerfile je besedilni dokument, ki vsebuje vse ukaze, ki jih lahko uporabnik pokliče v ukazni vrstici za sestavljanje slike. Uporablja se za ustvarjanje slike Docker, ki jo je nato mogoče uporabiti za ustvarjanje vsebnikov. Datoteka Docker običajno vsebuje navodila o tem, kako zgraditi in zagnati aplikacijo, kot tudi vse druge odvisnosti, ki jih potrebuje za pravilno delovanje. Napisan je s programskim jezikom Python in se lahko uporablja s katero koli od priljubljenih vsebniških tehnologij, kot sta Kubernetes ali Docker Swarm.

Kako napišem Dockerfile

Dockerfile je besedilni dokument, ki vsebuje vse ukaze, ki jih lahko uporabnik pokliče v ukazni vrstici za sestavljanje slike. To je v bistvu niz navodil, ki Dockerju povedo, kako zgraditi vašo sliko.

Če želite napisati Dockerfile v Pythonu, morate začeti z določitvijo osnovne slike, ki jo želite uporabiti. To lahko storite z navodilom FROM. Če bi na primer želeli uporabiti Ubuntu kot osnovno sliko, bi napisali:

IZ ubuntuja: najnovejše

Nato morate namestiti vse potrebne pakete in knjižnice za svojo aplikacijo. To lahko storite z ukazom RUN in ukazom apt-get ali pip. Na primer, če bi želeli namestiti Flask in njegove odvisnosti, bi napisali:

RUN apt-get update && apt-get install -y python3 python3-pip && pip3 namestitvena bučka

Ko so vsi vaši paketi nameščeni, je čas, da kopirate morebitno izvorno kodo ali konfiguracijske datoteke v vsebnik. To je mogoče storiti z navodilom COPY, ki mu sledi pot izvorne datoteke in ciljna pot znotraj vsebnika. Na primer:

KOPIRAJ ./app /app/

Končno je čas, da določite, kateri ukaz naj se izvede pri izvajanju tega vsebnika z docker run. To se naredi z ukazom CMD, ki mu sledi kateri koli ukaz, ki naj se izvede med izvajanjem tega vsebnika. Na primer:

CMD [»python3«, »/app/main.py«]

Podobni objav:

Pustite komentar