Go开发网络应用初探

Go语言因其高效,适合开发网络应用。本文介绍Windows11环境下,Go开发环境搭建及Hello World!并打包成Docker的网络应用。Docker镜像文件最小,在20MB之内。
一、基础环境

1、必备的科学上网环境

因为很多模块需要访问外网, 所以科学上网环境是必须的,代理也是必须的。这些环境搭建就不细说了。

2、Go安装

https://go.dev/dl 安装最新的Windows版本。

在Powershell 下,go version 验证是否正常,输出应该类似:

go version go1.22.3 windows/amd64

如不正常,则配置一下环境变量。

GOROOT = C:\Go
GOPATH = C:\Users\<你的用户名>\go
PATH = %PATH%;%GOROOT%\bin;%GOPATH%\bin

3、安装Git 和 Docker

https://git-scm.com/download/win 安装时建议Use Git from command line

Docker Desktop ,安装时建议勾选WSL2。Docker安装完需要配置Docker Desktop 随Windows启动,配置代理环境。验证: docker info ,看到OSType: linux

4、vsCode

需要安装插件Go、Git和Docker

5、 所有的都必须配置科学上网

VSCode : Preferences -> setting->http proxy

Docker Desktop: setting->Resources->Proxies

Go: go env -w GOPROXY=https://goproxy.cn,direct

二、Go 项目初始化

建立一个Go的项目文件夹

在项目文件夹下执行,go mod init <项目名> , 会创建一个go.mod的初始化文件

三、写一个简单的提供http的Web服务

main.go ,内容如下:

package main

import (
	"fmt"
	"net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Hello World Service")
}

func main() {
	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

四、Dockerfile

在项目文件夹下,创建dockerfile 文件, 内容如下:

# build
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o <项目名>

# run(极小)
FROM scratch
COPY --from=builder /app/<项目名> /<项目名>

EXPOSE 8080
ENTRYPOINT ["/<项目名>"]

五、编译打包

docker build -t <项目名> .

六、 验证

1、docker images

可以看到镜像

2、docker run

docker run -d -p 8080:8080 <镜像名>

3、 网络访问

打开浏览器访问, http://localhost:8080

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1715.html

淘宝小店:陈皮王五工作室

公司网址:海灵德(六安)环境科技有限公司

(0)
GaryGary
上一篇 1天前
下一篇 2025-02-05 上午9:07

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注