docke-cli的调试环境搭建过程

2022-11-12 421阅读

温馨提示:这篇文章已超过531天没有更新,请注意相关的内容是否还可用!

在搭建docker-cli的调试环境时,踩了些坑,这里总结了一个比较顺利的方式,供大家参考。

我使用的是VMware16.2.4安装得centos7.9.2009的操作系统,编译器用的VScode,go的版本为1.18, docker-cli的版本为1.20.10。

1. 安装go开发环境

这里安装go开发环境使用的是g 版本管理工具,具体的安装过程请参考:https://github.com/voidint/g 。

安装完之后,切换为1.18 版本。

2. 修改部分go 环境变量

关闭了go mod ,因为docker-cli项目,没有使用go mod管理

修改GO_PROXY为七牛云的

GOPATH 保持默认的不变,如果要修改也可以,之后后面创建目录的时候,也要一并修改。

go env -w GO111MODULE="off"
go env -w GOPROXY="https://goproxy.cn,direct"

3. 创建目录

在GOPATH创建如下的目录:

mkdir -p /root/go/src/github.com/docker# 如果GOPATH有修改,此处路径也要做相应修改

4.下载代码

在GOPATH中下载代码,并切换至目标分支

cd /root/go/src/github.com/docker 
git clone https://github.com/docker/cli.git
cd cli
git checkout -b origin/20.10 remotes/origin/20.10

5. 配置VScode

通过 SSH remote 插件打开代码以后(相信如果你能查到这个文档,自然会使用该插件)

1.先自动创建 launch.json

2.并将 launch.json内容修改为如下:

其中 program字段,设置为docker.go 文件的路径。

args字段,可以执行调整为自己感兴趣的docker命令,不必含有docker,直接填写根命令就行。

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "/root/go/src/github.com/docker/cli/cmd/docker/docker.go",
"env": {},
"args": ["ps","-a"]
}
]
}

点击开始调试

如果出现如下的信息,则说明成功了。