Masalah utama anu aya hubunganana sareng conto Dockerfile nyaéta yén éta henteu cocog pikeun sadaya kasus pamakean. Dockerfile mangrupikeun sakumpulan paréntah anu dianggo pikeun ngawangun gambar, sareng éta tiasa disaluyukeun pikeun aplikasi sareng lingkungan anu béda. Sapertos kitu, conto Dockerfile tiasa henteu ngandung petunjuk anu dipikabutuh pikeun aplikasi atanapi lingkungan khusus anjeun. Salaku tambahan, sintaksis Dockerfile tiasa bénten-béda gumantung kana versi Docker anu dianggo, janten conto tina hiji versi tiasa henteu tiasa dianggo dina anu sanés.
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" - garis ieu nangtukeun gambar dasar pikeun pamakéan wadahna Docker, bisi ieu versi Python 3.7.
2. "WORKDIR / aplikasi" - garis Ieu susunan diréktori kerja wadahna ka "/ aplikasi".
3. "SALIN syarat.txt ." - Garis ieu nyalin file ngaranna "requirements.txt" tina mesin lokal kana diréktori kerja ayeuna wadahna (dina hal ieu "/app").
4. "RUN pip install -r requirements.txt" - Jalur ieu ngajalankeun paréntah di jero wadah anu nganggo pip pikeun masang sadaya bungkusan anu didaptarkeun dina requirements.txt kana lingkungan wadahna.
5. ”SALIN . .” - Garis ieu nyalin sadaya file sareng polder tina mesin lokal anjeun kana diréktori kerja wadahna ayeuna (dina hal ieu "/app").
6. "EXPOSE 5000" - Garis ieu ngungkabkeun port 5000 dina wadah Docker anjeun, ngamungkinkeun éta diaksés tina sumber luar sapertos browser wéb atanapi aplikasi sanés anu dijalankeun dina komputer atanapi jaringan anjeun.
7. "ENTRYPOINT ["python"]" - Garis ieu netepkeun titik éntri pikeun wadah Docker anjeun, hartosna nalika anjeun ngajalankeunana, éta bakal otomatis ngaéksekusi paréntah naon waé anu dieusian di dieu (dina hal ieu, ngajalankeun Python).
8. "CMD ["app.py"]" - Tungtungna, garis ieu netepkeun paréntah naon anu kedah dieksekusi nalika anjeun ngajalankeun wadah Docker anjeun (dina hal ieu, ngajalankeun file anu disebut app.py).
Ngeunaan platform Docker
Docker mangrupikeun platform open-source pikeun ngawangun, pengiriman barang, sareng ngajalankeun aplikasi. Éta ngagunakeun téknologi wadah pikeun ngarangkep aplikasi dina wadah terasing supados tiasa gancang disebarkeun dina sistem naon waé. Docker ngamungkinkeun para pamekar gancang nyiptakeun sareng nyebarkeun aplikasi dina cara anu aman sareng efisien.
Python mangrupikeun basa pamrograman populér anu dianggo ku seueur pamekar pikeun nyiptakeun aplikasi wéb, proyék élmu data, modél pembelajaran mesin, sareng seueur deui. Kalayan Docker, pamekar Python tiasa kalayan gampang ngarangkep kodena kana wadah anu portabel dina sistem sareng lingkungan anu béda. Ieu ngagampangkeun ngembangkeun sareng nyebarkeun aplikasi Python dina platform atanapi panyadia awan tanpa hariwang ngeunaan masalah kasaluyuan atanapi katergantungan. Salaku tambahan, Docker nyayogikeun cara anu gampang pikeun ngatur sababaraha vérsi perpustakaan sareng kerangka Python kalayan pendaptaran gambar anu diwangun. Hal ieu ngamungkinkeun pamekar gancang pindah antara versi béda tina perpustakaan sarua atawa kerangka tanpa kudu install sacara manual dina unggal sistem aranjeunna ngagunakeun.
Naon Dockerfile
Dockerfile mangrupikeun dokumén téks anu ngandung sadaya paréntah anu tiasa ditelepon ku pangguna dina garis paréntah pikeun ngumpul gambar. Hal ieu dipaké pikeun nyieun gambar Docker, nu lajeng bisa dipaké pikeun nyieun peti. A Dockerfile ilaharna ngandung parentah tentang kumaha carana ngawangun tur ngajalankeun hiji aplikasi, kitu ogé sagala kagumantungan sejenna nu diperlukeun pikeun ngajalankeun leres. Ditulis nganggo basa pamrograman Python sareng tiasa dianggo sareng salah sahiji téknologi wadah anu populér sapertos Kubernetes atanapi Docker Swarm.
Kumaha cara nyerat Dockerfile
Dockerfile mangrupikeun dokumén téks anu ngandung sadaya paréntah anu tiasa ditelepon ku pangguna dina garis paréntah pikeun ngumpul gambar. Dasarna mangrupikeun set paréntah anu nyarioskeun ka Docker kumaha ngawangun gambar anjeun.
Pikeun nulis Dockerfile dina Python, anjeun kedah ngamimitian ku netepkeun gambar dasar anu anjeun hoyong pake. Ieu tiasa dilakukeun nganggo paréntah FROM. Contona, upami anjeun hoyong nganggo Ubuntu salaku gambar dasar anjeun, anjeun bakal nyerat:
FROM ubuntu: panganyarna
Salajengna, anjeun kedah masang pakét sareng perpustakaan anu diperyogikeun pikeun aplikasi anjeun. Ieu tiasa dilakukeun nganggo paréntah RUN sareng paréntah apt-get atanapi pip. Contona, upami anjeun hoyong masang Flask sareng katergantunganna, anjeun bakal nyerat:
RUN apt-get update && apt-get install -y python3 python3-pip && pip3 install flask
Sakali sadaya bungkusan anjeun dipasang, waktosna pikeun nyalin kode sumber atanapi file konfigurasi kana wadahna. Ieu tiasa dilakukeun nganggo paréntah COPY dituturkeun ku jalur file sumber sareng jalur tujuan dina wadahna. Salaku conto:
COPY ./app /app/
Tungtungna, éta waktuna pikeun nangtukeun paréntah mana anu kedah dieksekusi nalika ngajalankeun wadah ieu nganggo docker run . Hal ieu dilakukeun ku paréntah CMD dituturkeun ku paréntah naon waé anu kedah dieksekusi nalika ngajalankeun wadah ieu. Salaku conto:
CMD ["python3", "/app/main.py"]