如何在 Sealos 上运行你的第一份 Go 代码

首先,确保你已经安装了以下工具:

  • Dokcer

步骤1:编写你的 Go 程序

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello,Wolrd!")
	})

	http.ListenAndServe(":8080", nil)
}

步骤2:创建Docker镜像

  • 在与main.go相同的目录中,创建一个名为Dockerfile的文件,包含以下内容:
FROM golang:1.17 as builder

WORKDIR /app
COPY . .

RUN go mod init myapp
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .

FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /app
COPY --from=builder /app/main /app/

EXPOSE 8080
ENTRYPOINT ["/app/main"]

这个Dockerfile定义了一个多阶段构建过程。在第一阶段,我们使用官方的golang镜像作为基础镜像,然后编译Go应用程序。在第二阶段,我们使用轻量级的alpine镜像,将编译好的二进制文件复制到/app目录,并将8080端口暴露。

  • Dockerfile所在的目录运行以下命令,为Go应用程序构建Docker镜像:
docker build -t your_image_name .

your_image_name替换为您的镜像名称和标签。

步骤3:推送Docker镜像

  • 将创建的Docker镜像推送到Docker仓库,如Docker Hub或者私有仓库。假设您已经登录到Docker仓库,使用以下命令推送镜像

    • 首先标记Docker镜像,在推送镜像之前,需要为其添加一个标签,以便 Docker 知道将其推送到哪个仓库。运行以下命令为镜像添加标签:

      docker tag your-image-name your-dockerhub-username/your-repo-name:your-tag
      

      your-image-name 替换为你的本地镜像名称,your-dockerhub-username 替换为你的 Docker Hub 用户名,your-repo-name 替换为你在 Docker Hub 上要创建的仓库名称,your-tag 替换为你为镜像设置的标签(例如:latest)。

      例如:

      docker tag demo damager6666/demo:latest
      
    • 接下来推送Docker镜像,使用以下命令将镜像推送到 Docker Hub:

      docker push your-dockerhub-username/your-repo-name:your-tag
      

      your-dockerhub-usernameyour-repo-nameyour-tag 替换为实际的值。例如:

      docker push damager6666/demo:latest
      

步骤4:登陆 Sealos

在这里插入图片描述

步骤5:打开 「应用管理」 应用

在这里插入图片描述

步骤 6:新建应用

  • 在 「应用管理」 中,点击「新建应用」来创建一个新的应用。

在这里插入图片描述

步骤7:应用部署

  • 基础配置:

    • 应用名称(自定义):go-demo
    • 镜像名:damager6666/demo:latest
    • CPU(推荐):1 Core
    • 内存(推荐):1 G
  • 部署模式:

    • 实例数(自定义):1

在这里插入图片描述

  • 网络配置:

    • 容器暴露端口:8080

    • 外网访问:开启

在这里插入图片描述

步骤8:部署应用

  • 点击「部署应用」开始部署应用。
    在这里插入图片描述

步骤9:访问应用

  • 点击「应用管理」查看,当应用的 STATUS 由 Pending 变为 Running,则表明该应用已成功启动。
  • 当 STATUS 为 Running,即可直接访问外网地址。

在这里插入图片描述

  • 在浏览器上输入
https://tmgkflgdlstl.cloud.sealos.io/hello

在这里插入图片描述

  • 页面上显示 ”Hello,World! “ ,表示你的 Go 应用程序已经在 Sealos 上运行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值