הכנס את יישומי Rust שלך במכולות עם Docker כדי לפשט את הפריסה ולהבטיח עקביות בסביבות שונות.

מיכליות מציעה יתרונות חיוניים במונחים של ניידות, בידוד ויעילות. הוא מאפשר פריסה עקבית של יישומים על פני סביבות שונות ומבטיח אבטחה ויציבות באמצעות בידוד יישומים. זה גם מייעל את ניצול המשאבים, מפשט את תהליכי הפיתוח והניהול, ומשפר את המדרגיות.

מיכל יישומי Rust עם Docker מספק אמצעי אמין ויעיל לאריזת יישומים והתלות שלהם בסביבות עצמאיות וניידות. הוא מאפשר ביצוע חלק במערכות מגוונות ללא חשש לתשתית הבסיסית.

הגדרת שרת אינטרנט פשוט בחלודה עם Actix

אתה יכול הגדר שרת אינטרנט פשוט ב- Rust עם Actix ורכז את האפליקציה שלך עם Docker. תחשוף יציאה שממנה תיגש לשרת לבקשות.

הפעל פקודה זו כדי ליצור פרויקט Rust חדש עם ה- מנהל חבילות מטען:

cargo new my-app

כשאתה יוצר פרויקט Rust חדש, Cargo מוסיף את cargo.toml הקובץ לספריית הבסיס של הפרויקט שלך. פתח את ה cargo.toml קובץ והוסף את ארגז Actix ל- תלות סעיף כך:

[תלות]
actix-web = "4.3.1"

כך תוכל להגדיר שרת פשוט ב-Rust עם ארגז Actix:

להשתמש actix_web::{get, App, HttpResponse, HttpServer, Responder};
instagram viewer

// ייבא תלות נחוצה מ-Actix Web Framework

#[לקבל("/")]
אסינכרוןfnשלום() -> impl מגיב {
// הגדר פונקציית מטפל עבור בקשות GET לנתיב השורש ("/")
// הפונקציה מחזירה טיפוס שמיישם את התכונה Responder

HttpResponse::בסדר().גוּף("שלום עולם!")
// החזרת תגובת HTTP עם קוד סטטוס של 200 (בסדר)
// וגוף תגובה של "שלום, עולם!"
}

#[actix_web:: main]
אסינכרוןfnרָאשִׁי() -> std:: io::תוֹצָאָה {
// נקודת הכניסה של האפליקציה

HttpServer:: new(|| {
// צור מופע חדש של ה-HttpServer

אפליקציה:: new().service (שלום)
// צור מופע חדש של האפליקציה ורשום את פונקציית שלום

}).לִקְשׁוֹר("127.0.0.1:8080")?.לָרוּץ().לְהַמתִין
// קשר את השרת לכתובת ה-IP וליציאה
// הפעל את השרת והמתן להשלמתו
}

התוכנית מגדירה שרת HTTP אינטרנט בסיסי עם Actix. ה שלום function היא פונקציית מטפל המגיבה לבקשות GET ביציאה 8080 עם "שלום, עולם!".

ה רָאשִׁי הפונקציה מגדירה מופע שרת עם ה- HttpServer:: חדש פונקציה ומקשרת את השרת להפעלה על כתובת מקומית מארח 127.0.0.1:8080.

עכשיו, בצע את ה ריצת מטען פקודה להפעלת שרת האינטרנט. הנה התוצאה של פתיחת הכתובת בדפדפן אינטרנט.

כתיבת Dockerfile עבור אפליקציית החלודה שלך

כדי להכיל את אפליקציית Rust שלך עם Docker, עליך ליצור א Dockerfile ולהגדיר את הפקודות לתהליך המיכליזציה.

ה Dockerfile אין לו הרחבה; אתה רק צריך ליצור א Dockerfile קוֹבֶץ. אתה יכול גם ליצור א .docerignore קובץ לקבצים מופשטים בספריית העבודה שלך מתהליך הבנייה שלך.

הגדרת פקודות ב-Dockerfile שלך

שֶׁלְךָ Dockerfile יכיל פקודות המושכות תמונת בסיס ממאגר Docker, מגדירים את ספריית העבודה, מעתיקים את קבצים, בנה תלות, בנה את היישום, צור תמונה מינימלית, ייצא את היציאה והפעל את יישום.

# השתמש בגרסה העדכנית ביותר של תמונת הבסיס של Rust
מ חלודה: האחרונה

# הגדר את ספריית העבודה במיכל ל-/my
WORKDIR /usr/src/my-app

# העתק את קבצי פרויקט Rust לספריית העבודה
עותק. .

# בנה את אפליקציית Rust
לָרוּץ בניית מטען

# הגדר את הפקודה להפעלת אפליקציית Rust
CMD ריצת מטען

לאחר הגדרת הפקודות הנדרשות לאחסון האפליקציה שלך, תוכל לבנות קונטיינר עם הפקודה הזו:

docker build -t my-app .

הפקודה בונה תמונת Docker עבורך האפליקציה שלי אפליקציה עם התג האפליקציה שלי מהספרייה הנוכחית.

אתה יכול להשתמש ב דוקר ריצת הפקודה כדי להפעיל את תמונת ה- Docker שלך.

docker run -p 8080:8080 my-app

ה -p 8080:8080 אפשרות ממפה את יציאה 8080 של המחשב המארח ליציאה 8080 של המכולה. Docker יעביר את התעבורה המכוונת ליציאה 8080 במחשב המארח ליציאה 8080 במכולה.

אתה יכול לשלוח בקשות לקונטיינר דרך יציאת localhost 8080 להתקשר לשרת האינטרנט.

Docker Compose מאפשר תזמור רב-מיכל

עבודה עם קונטיינרים מרובים היא משימה רווחת בעת בניית אפליקציות Docker מתוחכמות. אתה יכול להשתמש ב-Docker Compose כדי לעבוד עם קונטיינרים מרובים של Docker.

Docker Compose מספק פונקציונליות להגדרת השירותים המרכיבים את האפליקציה שלך, תוך ציון התלות בין השירותים, הגדרת משתני הסביבה עבור כל שירות, הפעלה, עצירה, הפעלה מחדש, שינוי קנה מידה של מיכלי האפליקציה שלך ועוד פונקציונליות.