目錄
- 搭建docke-cli的調試環境
- 1. 安裝go開發環境
- 2. 修改部分go 環境變量
- 3. 創建目錄
- 4.下載代碼
- 5. 配置VScode
搭建docke-cli的調試環境
在搭建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"] } ] }
點擊開始調試
如果出現如下的信息,則說明成功了。