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 
相关推荐
qq_12498707537 分钟前
基于SpringBoot+vue的小黄蜂外卖平台(源码+论文+部署+安装)
java·开发语言·vue.js·spring boot·后端·mysql·毕业设计
CAE虚拟与现实7 分钟前
C/C++中“静态链接(Static Linking)” 和 “动态链接(Dynamic Linking)释疑
开发语言·c++·dll·动态链接库·lib库
万邦科技Lafite10 分钟前
一键获取淘宝店铺所有商品信息,实时监控商品数据
开发语言·数据库·python·api·开放api·电商开放平台·淘宝开放平台
包饭厅咸鱼12 分钟前
PatchCore-----训练,测试,c++部署 工业异常检测框架
开发语言·c++·视觉检测
许长安17 分钟前
C++ 多态详解:从静态多态到动态多态
开发语言·c++·经验分享·笔记
代码与野兽21 分钟前
AI交易,怎么让LLM自己挑选数据源?
前端·javascript·后端
猫猫的小茶馆29 分钟前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
蓑衣夜行34 分钟前
Qt QWebEngine 开启硬件加速注意事项
开发语言·c++·qt·web·qwebengine
CoderYanger36 分钟前
动态规划算法-简单多状态dp问题:15.买卖股票的最佳时机含冷冻期
开发语言·算法·leetcode·动态规划·1024程序员节
天天摸鱼的java工程师37 分钟前
JDK 25 到底更新了什么?这篇全景式解读带你全面掌握
java·后端