使用vscode调试docker源码

说明

github各种资源的gitee官方镜像

20版本的docker,daemon和client是分开了的,分别是moby项目和docker-cli项目。
需要分开调试。
17版本的docker,daemon和client都是moby项目,分支是17。

这里以调试daemon为例。

下载daemon源码

在go的gopath目录下

mkdir src
cd src
mkdir github.com
cd github.com
mkdir docker
cd docker

moby(gitee镜像,每日更新)

在gopath目录中的$/src/github.com/docker/目录中,使用git clone下载源码。下载下来的源码文件名叫moby,不正确,需要将moby重命名为docker。

git clone https://gitee.com/mirrors/moby.git
mv moby/ docker/

使用root用户启动vscode

sudo code --no-sandbox --user-data-dir=.vscode

安装docker daemon依赖的库

btrfs

deb下载网站搜索btrfs-tools包

https://launchpad.net/ubuntu/+source/btrfs-tools/4.4-1ubuntu1.1
在这里插入图片描述
选择对应的,一般的家用电脑amd64

下载这个:
在这里插入图片描述
懒人请点这里,直接下载。https://launchpad.net/ubuntu/+source/btrfs-tools/4.4-1ubuntu1.1/+build/17414143/+files/btrfs-tools_4.4-1ubuntu1.1_amd64.deb

devmapper

deb下载网站搜索libdevmapper包

搜出来的是lvm2包(这个包就是libdevmapper包)

lvm2可以直接使用apt-get install lvm2安装。

如果还是报错,说没有devmapper.pc,则继续往下。

https://launchpad.net/ubuntu/+source/lvm2/2.03.11-2ubuntu4~ubuntu20.04.1
在这里插入图片描述
点击amd64

在这里插入图片描述

下载上图的几个deb包。

安装deb包(图中顺序是,从下往上。)

sudo dpkg -i lvm2_2.03.11-2ubuntu4~ubuntu20.04.1_amd64.deb 
sudo dpkg -i liblvm2-dev_2.03.11-2ubuntu4~ubuntu20.04.1_amd64.deb 
sudo dpkg -i libdevmapper1.02.1_1.02.175-2ubuntu4~ubuntu20.04.1_amd64.deb
sudo dpkg -i libdevmapper-event1.02.1_1.02.175-2ubuntu4~ubuntu20.04.1_amd64.deb 
sudo dpkg -i libdevmapper-dev_1.02.175-2ubuntu4~ubuntu20.04.1_amd64.deb 

安装过程可能会出现缺少依赖包,则直接apt-get install缺少的包。

如果还是安装不上,则使用命令

apt --fix-broken install

随后就可以快乐的调试docker daemon了

停止原本的docker daemon

systemctl stop docker.service

调试源码

把$gopath/src/github.com/docker/docker/cmd/dockerd目录拖到vscode中。
然后调试。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值