GO 工程下载依赖操作流程(go mod)

1. 写一个main.go文件

go 复制代码
package main
import (
 "fmt"
 "net/http"
 "github.com/ClickHouse/clickhouse-go"
)
func main() {
  fmt.Println("服务启动......")
  http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
  fmt.Fprintln(w, "hello world")
 })
 http.ListenAndServe(":8080", nil)
}

2. 生成go.mod文件

bash 复制代码
# go mod 初始化
# go mod init 模块名
go mod init github/ztrace
2.1 下载依赖文件到go.mod文件中

有很多依赖,就下载很多依赖,例子就是下载的一个

go 复制代码
go get -u github.com/golang/protobuf@1.5.4
//go get -u github.com/gin-gonic/gin
//go get -u github.com/lib/pq

3. 下载依赖生成vendor文件夹

bash 复制代码
# go mod 删除错误或者不使用的modules
go mod tidy

# go mod 生成vendor目录
go mod vendor

# go mod 验证依赖是否正确
go mod verify

4. docker 打包镜像部署

4.1 编写Dockerfile
bash 复制代码
# 基础镜像
FROM golang:alpine
# 环境变量
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64 \
	GOPROXY="https://goproxy.cn,direct"

# 切换到app目录
WORKDIR /app
# 将源码复制到app目录
COPY . /app

WORKDIR example
# 编译源码
RUN go build -o main
# 暴露端口
EXPOSE 8080
# 运行
CMD ["./main"]
4.2 打包镜像(在Dockerfile 同级目录下)
bash 复制代码
docker build -t ztrace:1.0.0 .
4.3 docker运行
bash 复制代码
docker run  -d --name ztrace -p 8080:8080 ztrace:1.0.0 
相关推荐
丑梨数据1 分钟前
法律合同知识库怎么搭:从图片压缩到私有化 RAG 的工程笔记
开发语言·笔记·c#
小羊没烦恼!2 分钟前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
java·linux·运维·服务器·开发语言·数据库·mysql
FLJwu4 分钟前
运动相机采购选型避坑实战|第二篇
c语言·开发语言·数码相机·运动相机·oem 量产
aibo8603089 分钟前
基于 Spring Boot + Vue3 的餐饮食材采购与成本分析系统设计与实现
java·spring boot·后端
Rain的Java大神之路13 分钟前
面了上百人,我最爱问的LeetCode 1「两数之和」:能背代码的很多,能讲清“先查后存”的没几个
java·后端·算法
aibo86030817 分钟前
基于 Spring Boot + Vue3 的菜谱分享网站设计与实现
java·spring boot·后端
诚丞成18 分钟前
Kavita真正好用的不是“远程阅读”:而是把NAS目录重新组织成可扫描的Library
开发语言·网络
凤山老林18 分钟前
Spring Boot 集成 TOTP 双因素认证与恢复码机制
java·spring boot·后端
vipxieliang19 分钟前
ThinkPHP MVC 模式入门:从控制器到视图的完整实践
后端·php·thinkphp
vipxieliang25 分钟前
Spring Boot 测试策略:单元测试、切片测试与集成测试
java·spring boot·后端