אפליקציית Golang להפעלה כמיכל Docker

Plyqzyyt Golang Lhp Lh Kmykl Docker



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

Go היא שפת תכנות בקוד פתוח, מוקלדת סטטית ומקומפלט, הידועה ביכולתה להקל על פיתוח תוכנה פשוטה, אמינה ויעילה ביותר. הוא מוצא את התועלת ביצירת יישומים מגוונים כולל יישומי אינטרנט, פתרונות מקוריים בענן, ממשקי שורת פקודה (CLI), ומסקרן, אפילו Docker עצמו נוצר באמצעות Go.

במקרה שלנו, אנו בונים שרת HTTP פשוט ב-Go המאפשר לנו להדגים כיצד לבנות ולעצור את האפליקציה בשלבים פשוטים.







דרישות:

כדי להמשיך עם הדרכה זו, אתה צריך את הכלים הבאים:



  1. מהדר Go מותקן (נדרש גרסה 1.21 ומעלה)
  2. הפעלת Docker Engine במחשב המארח שלך
  3. IDE או עורך טקסט כדי לערוך את היישום Go. אנו ממליצים להשתמש ב-Visual Studio או ב-Vim
  4. מתורגמן שורת פקודה כגון Bash, ZSH, PowerShell וכו'.

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



בניית האפליקציה

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





התחל ביצירת ספרייה לאחסון פרויקט Go. אתה יכול לספק כל שם מתאים.

$ mkdir go_server

נווט לתוך הספרייה וצור קובץ חדש לאחסון קוד המקור. במקרה שלנו, אנו קוראים לקובץ 'main.go' שמציין שהקובץ הוא קוד מקור של Go.



$ לגעת main.go

לבסוף, ערוך את הקובץ והוסף את קוד המקור לאפליקציה כפי שהודגם בקטע הבא:

החבילה הראשית

יְבוּא (
'fmt'
'נטו/http'
)

func main ( ) {
// לטפל בבקשות נכנסות
http.HandleFunc ( '/' , func ( ב http.ResponseWriter, ר * http.Request ) {
// כתוב תגובה ללקוח
fmt.Fprintf ( ב , 'מאת Docker (:' )
} )

// הפעל את שרת ה-HTTP ביציאה 8080
fmt.Println ( 'השרת פועל על :8080' )
http.ListenAndServe ( ':8080' , אפס )
}

האפליקציה הקודמת יוצרת שרת HTTP בסיסי שנקשר ליציאה 8080. השרת מגיב בהודעה בסיסית כפי שהוגדר קודם לכן.

בדיקת האפליקציה

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

$ לך לרוץ main.go

הפקודה הקודמת מפעילה את האפליקציה ומחזירה את ההודעה באופן הבא:

השרת פועל על: 8080

לאחר מכן, כדי לבדוק את שרת ה-HTTP, אתה יכול להפעיל את הפקודה 'curl' באופן הבא:

$ תלתל http: // מארח מקומי: 8080 /

הפקודה הקודמת אמורה להחזיר את ההודעה באופן הבא:

מאת דוקר ( : %

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

מיכל האפליקציה

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

$ CD go_server

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

$ לגעת Dockerfile
$ כי Dockerfile

הוסף את התצורה באופן הבא:

מגולאנג: 1.21

WORKDIR / אפליקציה

עותק . .

RUN go build main.go -או ראשי .

לַחשׂוֹף 8080

CMD [ './רָאשִׁי' ]

ב-Dockerfile הקודם, אנו מגדירים את הפעולות הקודמות עבור האפליקציה.

  • הגדר את תמונת הבסיס לגרסה הרשמית של תמונת גולנג 1.21.
  • הגדר את ספריית העבודה בתוך המכולה ל-'/app'.
  • אנו מעתיקים את כל ספריית הפרויקט לתוך הקונטיינר.
  • בנו את האפליקציה Go בתוך המכולה.
  • חשוף את היציאה 8080 כדי לאפשר תעבורת HTTP נכנסת.
  • הגדר את הפקודה להפעלת היישום Go.

בניית תמונת Docker

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

$ סודו בניית docker go_server_docker .

החלף את ה-go_server_docker בשם שברצונך להקצות לתמונת האפליקציה.

לאחר בניית תמונת Docker בהצלחה, אתה יכול להפעיל קונטיינר המבוסס על אותה תמונה עם הפקודה הבאה:

$ דוקר ריצת -עמ' 8080 : 8080 go_server_docer

הפקודה הקודמת צריכה למפות את היציאה 8080 מהמחשב המארח ליציאה 8080 בתוך המכולה.

כדי לבדוק את המיכל, הפעל את הפקודה הבאה:

$ תלתל http: // מארח מקומי: 8080

זה אמור להדפיס את ההודעה המוגדרת באפליקציה.

סיכום

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