500 行代码手写 docker 开篇 -goland 远程编译环境配置
(1)500 行代码手写 docker 开篇-goland 远程编译环境配置
本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用 go 语言实现一个类似 docker 的容器化功能,最终能够容器化的运行一个进程。
代码最终运行效果
本系列源码已经上传到 github,地址如下:
在开始写代码之前,先介绍下我的实验环境,本地开发环境是 arm64 mac m1,为了能方便的在 linux 上进行调试,我买了一个 amd64 的云 linux 服务器,其实也可以本地搭建一个 linux 虚拟机代。 代码编辑器选择了 goland,并在 goland 配置了远程编译,这样便能在本地编写调试 适合 amd64 linux 环境的代码了。
下面是我配置的详细步骤。
goland 配置
我创建了一个名为 tidydocker 的项目,然后用 goland 打开,进入到 goland 配置界面配置 sftp
配置远程的部署路径,注意我已经在 linux 服务器上提前创建好了 projects 和 tinydocker 目录了。到时候 goland 在寻找部署目录时会根据上一个截图的 root path 和下面截图的 Deployment path 结合起来寻找部署目录。
接着配置 go remote,这样到时候我们便能够远程调试代码。
在接着配置 goland 之前,还需要在远程 linux 机器上部署调试工具。
首先肯定要有 golang 环境
接着安装 dlv 调试工具
写一个简单 hello world 程序
配置远程编译,编译的选项选择 run on 在我们远程 linux 主机上。
注意编译时候设置-o 参数这样能让我们编译后的文件名称为 tinydocker,不然就是 goland 为我们自动生成的一串很长的文件名。
点击 manager targets 配置编译后的文件输出目录
运行效果
这下配置就算全部完成了,点击编译,goland 便会将代码自动上传到远端,然后执行编译过程。
上一步完成后,登录到远端看看,可以发现已经生成了 tinydocker 的可执行文件
接着远端执行调试命令
然后本地 goland 给 hellow world 程序打上断点 执行 remote
可以看到断点已经生效了,这样便配置完成了 goland 的远程编译调试环境。
版权声明: 本文为 InfoQ 作者【蓝胖子的编程梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/2a97a4b23acf6c79109bea249】。文章转载请联系作者。
评论