Το Docker έχει γίνει ένα θεμελιώδες εργαλείο για την ανάπτυξη και την ανάπτυξη εφαρμογών, επιτρέποντας τη δημιουργία απομονωμένων και αναπαραγώγιμων περιβαλλόντων. Ωστόσο, συχνά χρειαζόμαστε περισσότερα από τις προ-χτισμένες εικόνες που είναι διαθέσιμες στο Docker Hub και εδώ είναι που παίζει η δυνατότητα να δημιουργήσουμε τις δικές μας προσαρμοσμένες εικόνες χρησιμοποιώντας το Dockerfile.
Αυτό το άρθρο θα σας καθοδηγήσει βήμα προς βήμα στη δημιουργία προσαρμοσμένων εικόνων με το Dockerfile, εξηγώντας τα πάντα, από τα βασικά μέχρι τη βελτιστοποίηση και ανάπτυξη των κοντέινερ σας. Αν θελήσατε ποτέ να καταλάβετε πώς λειτουργεί στην πραγματικότητα η δημιουργία εικόνων Docker, αυτό είναι το μέρος που πρέπει να πάτε.
Τι είναι ένα Dockerfile;
Un Dockerfile Είναι ένα αρχείο κειμένου που περιέχει μια σειρά οδηγιών που ερμηνεύει ο Docker για να δημιουργήσει μια εικόνα. Κάθε γραμμή σε ένα αρχείο Docker αντιπροσωπεύει ένα στρώμα στην τελική εικόνα, η οποία επιτρέπει τη βελτιστοποίηση και την επαναχρησιμοποίηση τμημάτων της διαδικασίας κατασκευής.
Οι εικόνες Docker βασίζονται σε α σύστημα στρώσης, που σημαίνει ότι κάθε φορά που εκτελείται μια εντολή μέσα σε ένα Dockerfile, δημιουργείται ένα νέο επίπεδο πάνω από το προηγούμενο. Αυτό επιτρέπει την αποτελεσματική χρήση του αποθήκευση και διευκολύνει την επαναχρησιμοποίηση τμημάτων της εικόνας σε μελλοντικές κατασκευές. Εάν θέλετε να μάθετε περισσότερα σχετικά με τον τρόπο βελτιστοποίησης της αποθήκευσης στα έργα σας, συνιστάται να διερευνήσετε τη χρήση του αποτελεσματικές επιλογές κρυπτογράφησης.
Βασικές οδηγίες σε ένα Dockerfile
Για να δημιουργήσουμε μια προσαρμοσμένη εικόνα, πρέπει να γνωρίζουμε μερικές από τις οδηγίες θεμελιώδης που μπορεί να συμπεριληφθεί σε ένα Dockerfile:
- ΑΠΟ: Καθορίζει την εικόνα βάσης στην οποία θα δημιουργηθεί η προσαρμοσμένη εικόνα μας. Παράδειγμα:
FROM ubuntu:latest
. - ΤΡΕΞΙΜΟ: Σας επιτρέπει να εκτελείτε εντολές στην εικόνα κατά την κατασκευή της. Χρησιμοποιείται για εγκατάσταση πακέτα ή διαμορφώστε την εικόνα. Παράδειγμα:
RUN apt-get update && apt-get install -y curl
. - ΑΝΤΙΓΡΑΦΟ: Αντιγράφει αρχεία από το κεντρικό σύστημα αρχείων στην εικόνα. Παράδειγμα:
COPY app.py /app/
. - CMD: Καθορίζει την εντολή που θα εκτελεστεί όταν ξεκινά μια εντολή. δοχείο με βάση την εικόνα. Παράδειγμα:
CMD ["python3", "app.py"]
. - ΣΗΜΕΙΟ ΕΙΣΟΔΟΥ: Παρόμοιο με το CMD, αλλά επιτρέπει στο δοχείο να λειτουργεί ως α εκτελέσιμο.
- ENV: Καθορίζω Μεταβλητές Περιβάλλοντος μέσα στο δοχείο. Παράδειγμα:
ENV APP_ENV=production
. - ΔΙΕΥΘΥΝΤΗΣ ΕΡΓΑΣΙΑΣ: Ρυθμίστε το κατάλογο εργασίας μέσα στο δοχείο.
- ΕΚΘΕΤΩ: Προσδιορίστε το Puertos που θα χρησιμοποιήσει το δοχείο.
Βήματα για τη δημιουργία προσαρμοσμένων εικόνων Dockerfile
Ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε μια εικόνα για μια εφαρμογή στο Python χρησιμοποιώντας Φιάλη. Για να το κάνουμε αυτό, θα ακολουθήσουμε αυτά τα βήματα:
1. Προετοιμάστε το περιβάλλον
Δημιουργήστε έναν φάκελο για την εφαρμογή σας και μέσα σε αυτόν, ένα αρχείο Dockerfile
. Θα χρειαστείτε επίσης ένα αρχείο requirements.txt
με το απαιτούμενες εξαρτήσεις που απαιτεί η αίτησή σας.
2. Ορίστε το αρχείο Docker
Μέσα στο αρχείο Dockerfile
, γράφουμε τα εξής:
FROM python:3.9 WORKDIR /app COPY requirements.txt /app/ RUN pip install -r requirements.txt COPY . /app/ CMD ["python", "app.py"]
3. Κατασκευάστε την εικόνα
Ανοίξτε ένα τερματικό στο φάκελο όπου βρίσκεται το Dockerfile και εκτελέστε:
docker build -t mi-app .
4. Τοποθετήστε ένα δοχείο
Να εκτοξεύσει α δοχείο Με βάση τη νέα εικόνα, χρησιμοποιήστε:
docker run -p 5000:5000 mi-app
Βέλτιστες πρακτικές για τη δημιουργία προσαρμοσμένων εικόνων Dockerfile
- Χρησιμοποιήστε ελαφριές εικόνες βάσης: Επιλέξτε μινιμαλιστικές εικόνες όπως
alpine
για να μειώσετε το μέγεθος της εικόνας και να βελτιώσετε την ασφάλεια. - Εκμεταλλευτείτε την προσωρινή μνήμη: Παραγγείλετε τις οδηγίες του
Dockerfile
ώστε να εμφανίζονται συχνές αλλαγές στο τέλος για τη βελτιστοποίηση της χρήσης του Κρυφή μνήμη. - Διαγράψτε τα περιττά αρχεία: ΗΠΑ
.dockerignore
για να αποφύγετε την αντιγραφή αρχείων που δεν χρειάζονται μέσα στο κοντέινερ. - Ελαχιστοποιήστε τον αριθμό των επιπέδων: Χρησιμοποιήστε το ίδιο
RUN
για ομαδοποίηση εντολών και μείωση περιττές στρώσεις.
Πώς να μοιράζεστε προσαρμοσμένες εικόνες Dockerfile
Για να μοιραστείτε την εικόνα σας με άλλους προγραμματιστές ή να την αναπτύξετε σε έναν διακομιστή, μπορείτε να τη ανεβάσετε στο Docker Hub:
1. Συνδεθείτε στο Docker Hub
docker login
2. Επισημάνετε την εικόνα
docker tag mi-app usuario/mi-app:v1
3. Ανεβάστε την εικόνα
docker push usuario/mi-app:v1
Τώρα οποιοσδήποτε μπορεί να κατεβάσει και να χρησιμοποιήσει την εικόνα σας με:
docker pull usuario/mi-app:v1
Η δημιουργία προσαρμοσμένων εικόνων με το Dockerfile είναι ένας από τους καλύτερους τρόπους βελτίωσης ανάπτυξη και ανάπτυξη εφαρμογών. Ακολουθώντας αυτά τα βήματα και ορθών πρακτικών, θα μπορείτε να δημιουργήσετε αποτελεσματικές, ασφαλείς εικόνες έτοιμες να χρησιμοποιηθούν σε περιβάλλοντα παραγωγής. Μοιραστείτε αυτόν τον οδηγό και βοηθήστε άλλους χρήστες να χρησιμοποιήσουν το εργαλείο.