Yakagadziriswa: dockerfile muenzaniso

Dambudziko guru rine chekuita neDockerfile muenzaniso nderekuti inogona kunge isiri yakakodzera kune ese ekushandisa kesi. A Dockerfile seti yemirairo inoshandiswa kuvaka chifananidzo, uye inogona kugadziridzwa kune akasiyana maapplication uye nharaunda. Saka nekudaro, muenzaniso Dockerfile inogona kunge isina mirairo inodiwa kune yako chaiyo application kana nharaunda. Pamusoro pezvo, iyo syntax yeDockerfile inogona kusiyana zvichienderana neshanduro yeDocker iri kushandiswa, saka muenzaniso kubva kune imwe vhezheni unogona kusashanda mune imwe.

FROM python:3.7

WORKDIR /app

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

1. "KUBVA python: 3.7" - Mutsara uyu unotsanangura mufananidzo wekutanga wekushandisa kuDocker container, munyaya iyi Python version 3.7.

2. "WORKDIR / app" - Mutsara uyu unoisa dhairekitori rekushanda remudziyo ku "/ app".

3. "COPY zvinodiwa.txt ." -Mutsetse uyu unokopa faira rine zita rekuti "requirements.txt" kubva kumushini wemuno kuenda kudhairekitori rekushanda remudziyo (munyaya iyi "/app").

4. “RUN pip install -r needs.txt” – Mutsetse uyu une murairo mukati memudziyo unoshandisa pip kuisa mapasuru ese akanyorwa muzvinodiwa.txt munzvimbo yemudziyo.

5.”KOPI . .” -Mutsetse uyu unokopa ese mafaera uye maforodha kubva kumushini wako wemuno kupinda mune yazvino dhairekitori remudziyo wako (mune iyi kesi "/ app").

6." EXPOSE 5000 ″ - Mutsetse uyu unofumura port 5000 pane yako Docker mudziyo, uchibvumira kuti iwanikwe kubva kunze kwekunze senge web browser kana mamwe maapplication anoshanda pakombuta yako kana network.

7. ”ENTRYPOINT [“python”]” - Mutsetse uyu unoseta nzvimbo yekupinda yeDocker chigaba chako, zvichireva kuti kana waimhanyisa, inozoita chero murairo unotsanangurwa pano (munyaya iyi, uchimhanya Python).

8.”CMD [“app.py”]” - Chekupedzisira, mutsara uyu unotsanangura kuti ndeupi murairo unofanirwa kuitwa kana uchimhanyisa mudziyo wako weDocker (munyaya iyi, uchimhanyisa faira rinonzi app.py).

Nezve Docker chikuva

Docker ipuratifomu yakavhurika-sosi yekuvaka, kutumira, uye kumhanya maapplication. Inoshandisa tekinoroji yemidziyo kurongedza maapplication mumidziyo yakasarudzika kuitira kuti ikurumidze kutumirwa pane chero system. Docker inogonesa vanogadzira kukurumidza kugadzira uye kutumira maapplication nenzira yakachengeteka uye inoshanda.

Python mutauro unozivikanwa wechirongwa unoshandiswa nevazhinji vanogadzira kugadzira webhu maapplication, data sainzi mapurojekiti, modhi yekudzidza yemuchina, nezvimwe. NeDocker, vagadziri vePython vanogona kurongedza nyore kodhi yavo mumidziyo inotakurika pane akasiyana masisitimu uye nharaunda. Izvi zvinoita kuti zvive nyore kugadzira uye kutumira maPython maapplication pane chero chikuva kana gore mupi pasina kunetsekana nenyaya dzekuenderana kana kutsamira. Pamusoro pezvo, Docker inopa nzira iri nyore yekugadzirisa akawanda mavhezheni ePython maraibhurari uye masisitimu ane akavakirwa-mukati mufananidzo registry. Izvi zvinobvumira vanogadzira kukurumidza kushandura pakati peakasiyana mavhezheni eraibhurari imwe chete kana furemu pasina kuzviisa pamaoko pane yega yega system yavanoshandisa.

Chii chinonzi Dockerfile

A Dockerfile igwaro remavara rine zvese mirairo iyo mushandisi anogona kufona pamutsara wekuraira kuunganidza mufananidzo. Inoshandiswa kugadzira mufananidzo weDocker, unogona kushandiswa kugadzira midziyo. Iyo Dockerfile inowanzo ine mirairo yekuvaka nekumhanyisa application, pamwe nekumwe kutsamira kwainoda kuti ishande nemazvo. Izvo zvakanyorwa uchishandisa iyo Python programming mutauro uye inogona kushandiswa nechero yakakurumbira midziyo matekinoroji akadai Kubernetes kana Docker Swarm.

Ndinonyora sei Dockerfile

A Dockerfile igwaro remavara rine zvese mirairo iyo mushandisi anogona kufona pamutsara wekuraira kuunganidza mufananidzo. Iri seti yemirairo inoudza Docker maitiro ekuvaka mufananidzo wako.

Kunyora Dockerfile muPython, unofanirwa kutanga nekutsanangura iyo base image yaunoda kushandisa. Izvi zvinogona kuitwa uchishandisa FROM rairo. Semuenzaniso, kana iwe uchida kushandisa Ubuntu semufananidzo wako wekutanga, waizonyora:

KUBVA ku ubuntu:zvino

Tevere, iwe unofanirwa kuisa chero mapakeji anodiwa uye maraibhurari ekushandisa kwako. Izvi zvinogona kuitwa uchishandisa iyo RUN rairo uye apt-kuwana kana pip mirairo. Semuenzaniso, kana iwe uchida kuisa Flask uye zvinoenderana nayo, waizonyora:

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

Kana ese mapakeji ako akaiswa, yave nguva yekukopa pamusoro pechero sosi kodhi kana mafaera ekugadzirisa mumudziyo. Izvi zvinogona kuitwa uchishandisa COPY rairo rinoteverwa nekwakabva faira nzira uye nzira yekuenda mukati memudziyo. Semuyenzaniso:

KOPI ./app/app/

Chekupedzisira, yave nguva yekutsanangura kuti ndeupi murairo unofanirwa kuitwa kana uchimhanyisa mudziyo uyu ne docker run . Izvi zvinoitwa nemirairo yeCMD inoteverwa nechero rairo inofanirwa kuitwa kana uchimhanyisa mudziyo uyu. Semuyenzaniso:

CMD [“python3”, “/app/main.py”]

Related posts:

Leave a Comment