Διατηρήστε κοντέινερ τις εφαρμογές σας Rust με το Docker για να απλοποιήσετε την ανάπτυξη και να εξασφαλίσετε συνέπεια σε διάφορα περιβάλλοντα.

Η μεταφορά εμπορευματοκιβωτίων προσφέρει ουσιαστικά οφέλη όσον αφορά τη φορητότητα, την απομόνωση και την αποτελεσματικότητα. Επιτρέπει τη συνεπή ανάπτυξη εφαρμογών σε διάφορα περιβάλλοντα και διασφαλίζει ασφάλεια και σταθερότητα μέσω της απομόνωσης εφαρμογών. Βελτιστοποιεί επίσης τη χρήση των πόρων, απλοποιεί τις διαδικασίες ανάπτυξης και διαχείρισης και ενισχύει την επεκτασιμότητα.

Η αποθήκευση εφαρμογών Rust με το Docker παρέχει ένα αξιόπιστο και αποτελεσματικό μέσο συσκευασίας εφαρμογών και των εξαρτήσεών τους σε αυτόνομα και φορητά περιβάλλοντα. Επιτρέπει την απρόσκοπτη εκτέλεση σε διάφορα συστήματα χωρίς να ανησυχείτε για την υποκείμενη υποδομή.

Ρύθμιση ενός απλού διακομιστή Web στο Rust με το Actix

Μπορείς ρυθμίστε έναν απλό διακομιστή ιστού στο Rust με το Actix και διαμορφώστε την εφαρμογή σας σε κοντέινερ με το Docker. Θα εμφανίσετε μια θύρα από όπου θα έχετε πρόσβαση στον διακομιστή για αιτήματα.

instagram viewer

Εκτελέστε αυτήν την εντολή για να δημιουργήσετε ένα νέο έργο Rust με το Διαχειριστής πακέτων φορτίου:

φορτίο νέα my-app

Όταν δημιουργείτε ένα νέο έργο Rust, το Cargo προσθέτει το φορτίο.toml αρχείο στον ριζικό κατάλογο του έργου σας. Ανοιξε το φορτίο.toml αρχείο και προσθέστε το κιβώτιο Actix στο εξαρτήσεις τμήμα ως εξής:

[εξαρτήσεις]
actix-web = "4.3.1"

Δείτε πώς μπορείτε να ρυθμίσετε έναν απλό διακομιστή στο Rust με το κιβώτιο Actix:

χρήση actix_web::{get, App, HttpResponse, HttpServer, Responder};

// Εισαγάγετε τις απαραίτητες εξαρτήσεις από το πλαίσιο Web Actix

#[παίρνω("/")]
ασυγχρονισμόςστΓειά σου() -> υπονοώ Απάντηση {
// Ορίστε μια συνάρτηση χειριστή για αιτήματα GET στη διαδρομή ρίζας ("/")
// Η συνάρτηση επιστρέφει έναν τύπο που υλοποιεί το χαρακτηριστικό Responder

HttpResponse::Εντάξει().σώμα("Γειά σου Κόσμε!")
// Επιστροφή απόκρισης HTTP με κωδικό κατάστασης 200 (OK)
// και ένα σώμα απάντησης του "Hello, World!"
}

#[actix_web:: main]
ασυγχρονισμόςστκύριος() -> std:: io::Αποτέλεσμα {
// Σημείο εισόδου της εφαρμογής

HttpServer:: new(|| {
// Δημιουργήστε μια νέα παρουσία του HttpServer

Εφαρμογή:: new().service (γεια)
// Δημιουργήστε μια νέα παρουσία της εφαρμογής και καταχωρήστε τη συνάρτηση hello

}).δένω("127.0.0.1:8080")?.τρέξιμο().αναμένω
// Συνδέστε το διακομιστή στη διεύθυνση IP και στη θύρα
// Εκκινήστε τον διακομιστή και περιμένετε την ολοκλήρωσή του
}

Το πρόγραμμα ρυθμίζει έναν βασικό διακομιστή Web HTTP με το Actix. ο Γειά σου Η λειτουργία είναι μια συνάρτηση χειριστή που ανταποκρίνεται σε αιτήματα GET στη θύρα 8080 με το «Γεια σου Κόσμε!».

ο κύριος η συνάρτηση ρυθμίζει μια παρουσία διακομιστή με το HttpServer:: νέος λειτουργία και δεσμεύει τον διακομιστή να εκτελείται στη διεύθυνση localhost 127.0.0.1:8080.

Τώρα, εκτελέστε το τρέξιμο φορτίου εντολή για την εκτέλεση του διακομιστή web. Ακολουθεί το αποτέλεσμα του ανοίγματος της διεύθυνσης σε ένα πρόγραμμα περιήγησης ιστού.

Γράψτε ένα Dockerfile για την εφαρμογή Rust σας

Για να αποθηκεύσετε την εφαρμογή Rust με το Docker, πρέπει να δημιουργήσετε ένα Dockerfile και ορίστε τις εντολές για τη διαδικασία αποθήκευσης.

ο Dockerfile δεν έχει επέκταση? χρειάζεται μόνο να δημιουργήσετε ένα Dockerfile αρχείο. Μπορείτε επίσης να δημιουργήσετε ένα .dockerignore αρχείο σε αφηρημένα αρχεία στον κατάλογο εργασίας σας από τη διαδικασία κατασκευής σας.

Καθορισμός εντολών στο Dockerfile σας

Τα δικα σου Dockerfile θα περιέχει εντολές που τραβούν μια εικόνα βάσης από το αποθετήριο Docker, ορίζουν τον κατάλογο εργασίας, αντιγράφουν το αρχεία, δημιουργήστε εξαρτήσεις, δημιουργήστε την εφαρμογή, δημιουργήστε μια ελάχιστη εικόνα, εξάγετε τη θύρα και εκτελέστε το εφαρμογή.

# Χρησιμοποιήστε την πιο πρόσφατη έκδοση της εικόνας βάσης Rust
ΑΠΟ σκουριά: τελευταία

# Ορίστε τον κατάλογο εργασίας στο κοντέινερ σε /my
ΔΙΕΥΘΥΝΤΗΣ ΕΡΓΑΣΙΑΣ /usr/src/my-app

# Αντιγράψτε τα αρχεία του έργου Rust στον κατάλογο εργασίας
ΑΝΤΙΓΡΑΦΟ. .

# Δημιουργήστε την εφαρμογή Rust
ΤΡΕΞΙΜΟ κατασκευή φορτίου

# Ορίστε την εντολή για εκτέλεση της εφαρμογής Rust
CMD τρέξιμο φορτίου

Αφού ορίσετε τις απαιτούμενες εντολές για τη δημιουργία κοντέινερ της εφαρμογής σας, μπορείτε να δημιουργήσετε ένα κοντέινερ με αυτήν την εντολή:

docker build -t my-app .

Η εντολή δημιουργεί μια εικόνα Docker για εσάς η εφαρμογή μου εφαρμογή με την ετικέτα η εφαρμογή μου από τον τρέχοντα κατάλογο.

Μπορείτε να χρησιμοποιήσετε το τρέξιμο docker εντολή για εκτέλεση της εικόνας Docker.

docker run -p 8080:8080 my-app

ο -σελ 8080:8080 Η επιλογή αντιστοιχίζει τη θύρα 8080 του κεντρικού υπολογιστή στη θύρα 8080 του κοντέινερ. Το Docker θα προωθήσει την κίνηση που κατευθύνεται στη θύρα 8080 του υπολογιστή κεντρικού υπολογιστή στη θύρα 8080 στο κοντέινερ.

Μπορείτε να στείλετε αιτήματα στο κοντέινερ μέσω της θύρας localhost 8080 για να καλέσετε τον διακομιστή web.

Το Docker Compose ενεργοποιεί την ενορχήστρωση πολλαπλών κοντέινερ

Η εργασία με πολλά κοντέινερ είναι μια διαδεδομένη εργασία κατά τη δημιουργία εξελιγμένων εφαρμογών Docker. Μπορείτε να χρησιμοποιήσετε το Docker Compose για να εργαστείτε με πολλά κοντέινερ Docker.

Το Docker Compose παρέχει λειτουργικότητα για τον καθορισμό των υπηρεσιών που απαρτίζουν την εφαρμογή σας, προσδιορίζοντας τις εξαρτήσεις μεταξύ των υπηρεσιών, ορισμός των μεταβλητών περιβάλλοντος για κάθε υπηρεσία, εκκίνηση, διακοπή, επανεκκίνηση, κλιμάκωση των κοντέινερ της εφαρμογής σας και άλλα λειτουργίες.