คู่มือภาษาและกรอบงาน
การรันแอป Go ใน Container อย่างมืออาชีพ
8 นาที
back4app containers เป็นแพลตฟอร์มที่ทรงพลังสำหรับการโฮสต์แอปพลิเคชัน go ด้วยความสามารถในการปรับใช้แอป go ที่ทำงานใน docker โดยอัตโนมัติ คุณสามารถเริ่มต้นโปรเจกต์ของคุณในสภาพแวดล้อมที่สามารถปรับขนาดได้และยืดหยุ่นได้อย่างง่ายดาย ในคู่มือนี้ เราจะพาคุณไปผ่านกระบวนการเตรียมและปรับใช้แอปพลิเคชัน go ของคุณบน back4app containers โดยครอบคลุมทุกอย่างตั้งแต่โปรเจกต์ง่ายๆ ไปจนถึงการตั้งค่าที่ซับซ้อนมากขึ้น เราจะเริ่มต้นด้วยการเตรียมความพร้อมที่จำเป็น จากนั้นจะไปที่การทำให้แอปพลิเคชันเป็น docker การทดสอบในเครื่อง การผลักดันโปรเจกต์ไปยัง github การตั้งค่าโปรเจกต์บน back4app containers การติดตามการปรับใช้ และการแก้ไขปัญหาทั่วไป หากคุณต้องการตรวจสอบตัวอย่างโปรเจกต์ golang ที่ทำงานบน back4app containers สามารถไปที่ https //github com/templates back4app/containers python flask sample 1\ เตรียมแอปพลิเคชัน go ของคุณ ก่อนที่จะปรับใช้แอปพลิเคชัน go ของคุณบน back4app containers คุณต้องมั่นใจว่ามันถูกตั้งค่าอย่างถูกต้อง ทำตามขั้นตอนเหล่านี้เพื่อเตรียมแอปพลิเคชันของคุณสำหรับการปรับใช้ ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุดของ go ติดตั้งอยู่ในระบบของคุณ อัปเดตการพึ่งพาของแอปพลิเคชันของคุณโดยการรัน go mod tidy ในโฟลเดอร์หลักของโปรเจกต์ของคุณ หากแอปพลิเคชันของคุณใช้ฐานข้อมูล ให้แน่ใจว่าคุณได้ตั้งค่าสตริงการเชื่อมต่อและการกำหนดค่าที่จำเป็นอื่น ๆ ในตัวแปรสภาพแวดล้อม แทนที่จะเขียนโค้ดแบบ hardcode ในแอปพลิเคชันของคุณ กำหนดค่าแอปพลิเคชันของคุณให้ฟังที่พอร์ตที่ระบุใน port ตัวแปรสภาพแวดล้อม นี่จะช่วยให้ back4app containers จัดการการกำหนดพอร์ตสำหรับแอปพลิเคชันของคุณโดยอัตโนมัติ สร้าง gitignore ไฟล์เพื่อยกเว้นไฟล์และไดเรกทอรีที่ไม่ควรรวมอยู่ในการปรับใช้ เช่น ผลลัพธ์การสร้าง ไฟล์บันทึก และไฟล์การกำหนดค่าที่เป็นส่วนตัว 2\ การทำให้เป็น docker การทำให้แอปพลิเคชัน go ของคุณเป็น docker เกี่ยวข้องกับการสร้าง dockerfile ที่อธิบายสภาพแวดล้อมของคอนเทนเนอร์ การพึ่งพา และกระบวนการสร้าง นี่คือตัวอย่าง dockerfile สำหรับแอปพลิเคชัน go ที่ซับซ้อนมากขึ้น \# start from the latest golang base image from golang\ latest \# add maintainer info label maintainer="your name \<your email\@example com>" \# set the current working directory inside the container workdir / \# copy the source from the current directory to the working directory inside the container copy \# disable go modules env go111module=off \# build the go app run go build o main \# expose port 8080 to the outside world expose 8080 \# command to run the executable cmd \[" /main"] 3\ ทดสอบโปรเจกต์ของคุณในเครื่อง ก่อนที่จะส่งโปรเจกต์ของคุณไปยัง github สิ่งสำคัญคือต้องทดสอบในเครื่องของคุณ รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ docker build t your image name docker run p 8080 8080 e port=8080 your image name แอปพลิเคชัน go ของคุณควรเข้าถึงได้ที่ http //localhost 8080 4\ ส่งโปรเจกต์ของคุณไปยัง github ในการปรับใช้แอปพลิเคชันของคุณบน back4app containers คุณต้องส่งโปรเจกต์ของคุณไปยังที่เก็บ github ทำตามขั้นตอนเหล่านี้ เริ่มต้นที่เก็บ git ใหม่ในโฟลเดอร์โปรเจกต์ของคุณ git init เพิ่มไฟล์โปรเจกต์ของคุณไปยังที่เก็บ git add บันทึกการเปลี่ยนแปลงของคุณ git commit m "initial commit" สร้างที่เก็บ github ใหม่และเพิ่ม url ระยะไกลไปยังที่เก็บในเครื่องของคุณ git remote add origin your repo url ส่งการเปลี่ยนแปลงของคุณไปยังที่เก็บระยะไกล git push u origin main 5\ ปรับใช้แอปพลิเคชันของคุณบน back4app containers ในการปรับใช้แอป go ของคุณบน back4app containers ให้เริ่มต้นโดยการเข้าสู่ระบบบัญชี back4app ของคุณและเชื่อมต่อที่เก็บ github ของคุณกับแพลตฟอร์ม เมื่อเชื่อมต่อแล้ว ให้ไปที่ส่วน containers และสร้างแอปคอนเทนเนอร์ใหม่ ในระหว่างกระบวนการนี้ คุณสามารถปรับแต่งเส้นทาง dockerfile ของคุณ และสร้างตัวแปรสภาพแวดล้อมที่จำเป็นสำหรับแอปพลิเคชันของคุณ คุณสามารถติดตามเอกสารเหล่านี้เพื่อให้คำแนะนำที่ดีกว่า 1 เชื่อมต่อที่เก็บ github ของคุณกับ back4app https //www back4app com/docs containers/integrate with github 2 เตรียมโปรเจกต์ของคุณสำหรับการปรับใช้ https //www back4app com/docs containers/prepare your deployment โดยสรุป คอนเทนเนอร์จะปฏิบัติตามคำแนะนำที่ระบุใน dockerfile ของคุณและเริ่มสร้างแอปของคุณ หลังจากกำหนดค่าคอนเทนเนอร์แอปของคุณ back4app จะสร้างภาพคอนเทนเนอร์โดยอัตโนมัติด้วย dockerfile ของคุณและปรับใช้แอป rails ของคุณบนแพลตฟอร์ม กระบวนการปรับใช้อาจใช้เวลาสักครู่ ขึ้นอยู่กับขนาดและความซับซ้อนของแอปพลิเคชันของคุณ เมื่อการปรับใช้เสร็จสิ้น back4app containers จะให้ url ที่ไม่ซ้ำกันแก่คุณซึ่งคุณสามารถเข้าถึงแอปที่ปรับใช้ของคุณได้ 6\ ตรวจสอบการปรับใช้และแก้ไขข้อผิดพลาดที่อาจเกิดขึ้น เพื่อตรวจสอบกระบวนการปรับใช้และตรวจสอบข้อผิดพลาดหรือคำเตือนใด ๆ ให้ใช้ back4app cli หรือ back4app dashboard คุณสามารถดูบันทึกการปรับใช้โดยการรัน back4app logs your container name โปรดใส่ใจกับข้อความข้อผิดพลาดและคำเตือนเพื่อให้แน่ใจว่าแอปพลิเคชันของคุณทำงานได้อย่างราบรื่น 7\ การแก้ไขปัญหาทั่วไป นี่คือปัญหาทั่วไปบางประการที่คุณอาจพบเมื่อปรับใช้และรันแอปพลิเคชัน go บน back4app containers พร้อมกับวิธีแก้ไข แอปพลิเคชันล้มเหลวเนื่องจากตัวแปรสภาพแวดล้อมที่ขาดหายไป ตรวจสอบให้แน่ใจว่าตัวแปรสภาพแวดล้อมที่จำเป็นทั้งหมดถูกตั้งค่าในการตั้งค่า back4app container ของคุณ คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมได้โดยใช้ back4app dashboard หรือ cli ( back4app set env your container name key=value ) แอปพลิเคชันไม่สามารถเชื่อมต่อกับฐานข้อมูลได้ ตรวจสอบสตริงการเชื่อมต่อฐานข้อมูลของคุณอีกครั้งและตรวจสอบให้แน่ใจว่าตั้งค่าอย่างถูกต้องเป็นตัวแปรสภาพแวดล้อม นอกจากนี้ให้ตรวจสอบว่าฐานข้อมูลของคุณสามารถเข้าถึงได้จากที่อยู่ ip ของ back4app containers การปรับใช้ล้มเหลวเนื่องจากชื่อภาพ docker ที่ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าชื่อภาพ docker ที่ระบุในการตั้งค่า back4app container ของคุณตรงกับชื่อที่คุณใช้เมื่อสร้างภาพ docker ในเครื่องของคุณ แอปพลิเคชันทำงานได้ดีในเครื่องแต่ไม่ทำงานใน back4app containers ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณฟังที่พอร์ตที่ระบุในตัวแปรสภาพแวดล้อม port เนื่องจาก back4app containers จะจัดการการกำหนดพอร์ตโดยอัตโนมัติ นอกจากนี้ให้ตรวจสอบว่า dockerfile ของคุณตั้งค่าสภาพแวดล้อมของคอนเทนเนอร์และการพึ่งพาอย่างถูกต้อง การปรับใช้หรือการเริ่มต้นแอปพลิเคชันช้า อาจเกิดจากภาพ docker ขนาดใหญ่หรือกระบวนการสร้างที่ซับซ้อน ปรับแต่ง dockerfile ของคุณโดยใช้การสร้างหลายขั้นตอน และลบไฟล์หรือการพึ่งพาที่ไม่จำเป็นออกจากภาพคอนเทนเนอร์ของคุณ พฤติกรรมไม่สอดคล้องกันระหว่างแอปพลิเคชันในเครื่องและที่ปรับใช้ ตรวจสอบให้แน่ใจว่าการพึ่งพาของแอปพลิเคชันเหมือนกันในทั้งสองสภาพแวดล้อม การใช้ไฟล์ go mod ช่วยจัดการการพึ่งพาอย่างสม่ำเสมอ นอกจากนี้ให้ตรวจสอบอีกครั้งว่าตัวแปรสภาพแวดล้อมและการตั้งค่าเหมือนกันในทั้งสองสภาพแวดล้อม แอปพลิเคชันไม่สามารถปรับขนาดได้ หากแอปพลิเคชันของคุณประสบปัญหาด้านประสิทธิภาพหรือไม่สามารถปรับขนาดได้ตามที่คาดหวัง ให้พิจารณาปรับแต่งโค้ด go ของคุณและประเมินการใช้ทรัพยากรของแอปพลิเคชันของคุณ คุณยังสามารถปรับขีดจำกัดทรัพยากรสำหรับ back4app containers ของคุณผ่าน dashboard หรือ cli หากคุณต้องการตรวจสอบตัวอย่างโปรเจกต์ golang ที่ทำงานบน back4app containers สามารถไปที่ https //github com/templates back4app/containers python flask sample โดยการติดตามคู่มือนี้ คุณควรมีความเข้าใจที่ดีขึ้นเกี่ยวกับวิธีการปรับใช้และรันแอปพลิเคชัน go บน back4app containers back4app containers ให้แพลตฟอร์มที่สะดวกและยืดหยุ่นในการปรับใช้และขยายแอปพลิเคชันของคุณโดยไม่ต้องกังวลเกี่ยวกับ devops ด้วยการรวม github การปรับใช้ docker การตรวจสอบแบบเรียลไทม์ และการอัปเดตที่ไม่มีเวลาหยุดทำงาน back4app containers ช่วยทำให้กระบวนการพัฒนาและการปรับใช้มีประสิทธิภาพมากขึ้น ช่วยให้คุณมุ่งเน้นไปที่การสร้างแอปพลิเคชันที่ยอดเยี่ยม