Rumah > pembangunan bahagian belakang > Tutorial Python > Docker Hands-on: Ketahui Dockerfile, Container, Port Forwarding dengan Contoh Projek Flask

Docker Hands-on: Ketahui Dockerfile, Container, Port Forwarding dengan Contoh Projek Flask

Susan Sarandon
Lepaskan: 2025-01-14 07:36:44
asal
383 orang telah melayarinya

Tutorial ini menunjukkan membina dan menggunakan aplikasi Flask mudah menggunakan Docker. Kami akan meliputi membuat Dockerfile, membina imej, menjalankan bekas dan juga menolak imej ke Docker Hub. Bagi mereka yang tidak biasa dengan asas Docker, lihat siaran sebelumnya ini:

Mari kita mulakan dengan contoh hands-on:

Persediaan Projek:

  1. Buat direktori bernama "flask-app".
  2. Di dalam "flask-app", cipta index.py yang mengandungi aplikasi Flask mudah ini:
<code class="language-python"># index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=True)</code>
Salin selepas log masuk
  1. Juga dalam "flask-app", buat Dockerfile (tiada sambungan) dengan kandungan berikut:
<code class="language-dockerfile">FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]</code>
Salin selepas log masuk
  1. Akhir sekali, buat requirements.txt dalam direktori "flask-app":
<code>Flask==2.3.2</code>
Salin selepas log masuk

Struktur direktori anda kini sepatutnya kelihatan seperti ini:

<code>flask-app/
├── Dockerfile
├── index.py
└── requirements.txt</code>
Salin selepas log masuk

Membina dan Menjalankan Imej Docker:

  1. Navigasi ke direktori "flask-app" dalam terminal anda.
  2. Bina imej Docker menggunakan arahan ini:
<code class="language-bash">docker build -t flask-app .</code>
Salin selepas log masuk
  1. Sahkan imej telah berjaya dibina:
<code class="language-bash">docker images</code>
Salin selepas log masuk
  1. Jalankan bekas Docker, petakan port 5000 pada mesin hos anda kepada port 5000 dalam bekas:
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
Salin selepas log masuk
  1. Periksa bekas berjalan:
<code class="language-bash">docker ps -a</code>
Salin selepas log masuk
  1. Uji aplikasi dengan mengakses http://127.0.0.1:5000 dalam penyemak imbas anda atau menggunakan curl:
<code class="language-bash">curl http://127.0.0.1:5000</code>
Salin selepas log masuk
  1. Untuk menghentikan dan mengeluarkan bekas:
<code class="language-bash">docker container rm -f my-flask-app</code>
Salin selepas log masuk
  1. Untuk mengalih keluar imej:
<code class="language-bash">docker image rm -f flask-app</code>
Salin selepas log masuk

Menolak ke Hab Docker:

Sebelum menolak ke Docker Hub, buat akaun jika anda belum memilikinya. Kemudian:

  1. Tandai imej untuk Docker Hub (gantikan omerbsezer dengan nama pengguna Docker Hub anda):
<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
Salin selepas log masuk
  1. Tolak imej:
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
Salin selepas log masuk

Anda kemudian boleh melihat imej anda di Docker Hub. Tangkapan skrin akan diletakkan di sini.

Docker Hands-on: Learn Dockerfile, Container, Port Forwarding with Sample Flask Project

Kesimpulan:

Contoh praktikal ini menunjukkan aliran kerja lengkap untuk menyimpan aplikasi Python mudah dengan Docker. Untuk lebih banyak tutorial Docker, AWS, Kubernetes, Linux, DevOps, Ansible, Pembelajaran Mesin, Generatif AI dan kandungan SAAS, ikuti pautan ini:

Atas ialah kandungan terperinci Docker Hands-on: Ketahui Dockerfile, Container, Port Forwarding dengan Contoh Projek Flask. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan