# mydocker **Repository Path**: hudl/mydocker ## Basic Information - **Project Name**: mydocker - **Description**: 手写docker序列 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-09 - **Last Updated**: 2024-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言, Docker ## README # mydocker #### 介绍 手写docker,最近在学习如何手写docker,参考的是B站中的《造轮子系列-手写docker》,[原版视频地址](https://www.bilibili.com/video/BV1zg411Q7pC?spm_id_from=333.788.videopod.sections&vd_source=c641a902f726dc3886385199e1b4b271) 代码不是我原创,我在《造轮子系列-手写docker》基础之上,做了一些改进,主要是方便大家学习和调试代码。mydocker是一个循序渐进的教程,方便大家从零开始学习云原生开发。 1、首先是在windows环境中,使用vscode来远程开发和调试mydocker; 2、在ubuntu服务器中,安装go语言环境,然后使用开源的dlv工具来远程调试代码; 3、使用makefile编译代码。 #### 软件架构 **go 1.20.0** **dlv 1.20.0** **ubuntu24 linux** **makefile** #### 安装教程 **1. 安装ubuntu** 在虚拟机中安装ubuntu24,一般建议安装最近版本。 **2. 安装go语言开发环境** 建议安装go 1.20.0,也可以按自己的环境来安装,但是要修改go.mod中的版本号 **3. 安装dlv调试工具** 在ubuntu中安装dlv调式工具,国内可以使用gitee中的源代码来安装 **4. 安装vscode** 在windows中安装vscode,并安装go语言插件 **5. 安装ssh远程插件** 要在vscode中远程调试ubuntu中的go语言,需要在vscode中安装Remote SSH,并登录到ubuntu中 以上的安装步骤网上有很多写的不错的教程,大家自行查找,本项目就不在一一介绍了 #### 使用说明 1. 在launch.json配置远程服务器并登录,如下图 ![输入图片说明](https://foruda.gitee.com/images/1731157898769511864/da581ec8_488240.png "屏幕截图") 3. 调试代码 首先启动startDebugger.sh调试命令 ![输入图片说明](https://foruda.gitee.com/images/1731157733446976357/14d7c002_488240.png "屏幕截图") 3. 运行调试 ![输入图片说明](https://foruda.gitee.com/images/1731157801750979511/3a8365d9_488240.png "屏幕截图") #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 开发mydocker的初衷 mydocker项目最早起源于我在实际工作中的一个需求,需要为客户的一个产品编写自动上云(k8s operator)的插件,当时虽然对k8s有一定的了解,也能使用k8s部署应用程序,但是对于k8s operator的开发是一窍不通,通过一段时间的学习,逐渐掌握了k8s的插件开发能力,由此对K8S和docker产生了浓厚的兴趣,于是决定着手来开发mydocker,主要目的是为了掌握go语言的核心语法和docker的底层原理,希望本项目也能帮助到更多的同学彻底掌握go语言的开发能力,掌握云原生项目开发。 #### 官网 [http://cobertura.ylttgy.com/cloud/Mydocker.html](http://cobertura.ylttgy.com/cloud/Mydocker.html)