
استقرار برنامههای Golang
(Golang Apps)برای اینکار، ابتدا لازم است که از بخش برنامهها یک برنامه Docker با نام و پلن دلخواهتان بسازید.
سپس یک فایل با نامDockerfileدر ریشهی برنامهیتان بسازید و قطعهکد زیر را در این فایل قرار دهید:
FROM golang:1.19-alpine AS build
WORKDIR /app
COPY . ./
# Install dependencies
RUN go mod download && \
# Build the app
GOOS=linux GOARCH=amd64 go build -o main && \
# Make the final output executable
chmod +x ./main
FROM alpine:latest
# Install os packages
RUN apk --no-cache add bash
WORKDIR /app
COPY --from=build /app/main .
CMD ["./main"]
EXPOSE 8000
توجه داشته باشید که در خط اول، میتوانید نسخهی Golang مدنظرتان را وارد کنید. در مقابلEXPOSE، پورتی را که وبسرور شما به آن listen میکند را بنویسید. در زمان دیپلوی هم لیارا این پورت را از شما میپرسد که باید همان مقدار EXPOSEرا وارد کنید.
در نهایت، CMD و یا ترمینال را در پوشهای که Dockerfileرا داخل آن قرار دادید باز کرده و سپس دستور زیر را برای استقرار و اجرای برنامه وارد کنید:
$ liara deploy
مقالات زیادی وجود دارند که نحوهی Dockerizeکردن برنامههای Golang را توضیح دادهاند که شما میتوانید آنها را جستجو و مطالعه کنید.Dockerfileای که ما در این صفحه قرار دادیم، صرفا یک نمونه است و شما میتوانید آن را با توجه به نیاز خودتان ویرایش کنید.
توجه داشته باشید که
- اگر با خطای ReadOnly Filesystem مواجه شدید، لازم است که بخش «فایلسیستم» را مطالعه کنید.
- بین برنامهها و دیتابیسها شبکهی خصوصی برقرار است که در صورت استقرار Microserviceها و ارتباط درونشبکهای، بسیار کاربردی است.
- در صفحهی لاگها امکان دنبالکردن زندهی لاگهایتان را دارید.
- برای تنظیم Environment Variableها، بخش «متغیرهای محیطی» را مطالعه کنید.