500行代码手写docker开篇-goland远程编译环境配置

这篇具有很好参考价值的文章主要介绍了500行代码手写docker开篇-goland远程编译环境配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(1)500行代码手写docker开篇-goland远程编译环境配置

本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用go语言实现一个类似docker的容器化功能,最终能够容器化的运行一个进程。

代码最终运行效果

500行代码手写docker开篇-goland远程编译环境配置

本系列源码已经上传到github,地址如下:

https://github.com/HobbyBear/tinydocker

在开始写代码之前,先介绍下我的实验环境,本地开发环境是arm64 mac m1,为了能方便的在linux上进行调试,我买了一个amd64的云linux 服务器,其实也可以本地搭建一个linux虚拟机代。 代码编辑器选择了goland,并在goland配置了远程编译,这样便能在本地编写调试 适合amd64 linux环境的代码了。

下面是我配置的详细步骤。

goland 配置

我创建了一个名为tidydocker的项目,然后用goland打开,进入到goland配置界面配置sftp

500行代码手写docker开篇-goland远程编译环境配置
配置远程的部署路径,注意我已经在linux服务器上提前创建好了projects和tinydocker 目录了。到时候goland在寻找部署目录时会根据上一个截图的root path 和下面截图的Deployment path 结合起来寻找部署目录。
500行代码手写docker开篇-goland远程编译环境配置

接着配置go remote,这样到时候我们便能够远程调试代码。

500行代码手写docker开篇-goland远程编译环境配置
在接着配置goland之前,还需要在远程linux机器上部署调试工具。

首先肯定要有golang环境

root@ecs-295280:~# go version
go version go1.20.3 linux/amd64
root@ecs-295280:~# 

接着安装dlv调试工具

 go install github.com/go-delve/delve/cmd/dlv@latest

写一个简单hello world程序

500行代码手写docker开篇-goland远程编译环境配置

配置远程编译,编译的选项选择run on 在我们远程linux主机上。

500行代码手写docker开篇-goland远程编译环境配置
注意编译时候设置-o参数这样能让我们编译后的文件名称为tinydocker,不然就是goland为我们自动生成的一串很长的文件名。

点击manager targets 配置编译后的文件输出目录
500行代码手写docker开篇-goland远程编译环境配置

运行效果

这下配置就算全部完成了,点击编译,goland便会将代码自动上传到远端,然后执行编译过程。
500行代码手写docker开篇-goland远程编译环境配置
上一步完成后,登录到远端看看,可以发现已经生成了tinydocker的可执行文件

root@ecs-295280:~/projects/tinydocker# ls
go.mod  main.go  ReadMe.md  tinydocker
root@ecs-295280:~/projects/tinydocker# pwd
/root/projects/tinydocker
root@ecs-295280:~/projects/tinydocker# 

接着远端执行调试命令

root@ecs-295280:~/projects/tinydocker#  dlv exec  tinydocker  --headless --listen=:2345 --api-version=2 --accept-multiclient 
API server listening at: [::]:2345
2023-05-02T01:27:04+08:00 warning layer=rpc Listening for remote connections (connections are not authenticated nor encrypted)

然后本地goland 给hellow world 程序打上断点 执行remote
500行代码手写docker开篇-goland远程编译环境配置
可以看到断点已经生效了,这样便配置完成了goland的远程编译调试环境。文章来源地址https://www.toymoban.com/news/detail-449104.html

到了这里,关于500行代码手写docker开篇-goland远程编译环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Goland连接服务器/虚拟机远程编译开发

    SSH用于与远程服务器建立连接 Settings - Tools - SSH Configurations 添加新的ssh连接,Host为ip地址,Username为用户名,认证方式这里选择密码验证 全部填完后可以点击Test Connection测试连接是否成功 Deployment用于构建本地与远程服务器的路径映射 Settings - Build,Execution,Deployment - Deployment 添

    2024年02月06日
    浏览(54)
  • GoLand 如何clone github或远程仓库代码

    如果从idea那边转过来的,熟悉idea的都知道是使用如下方式 但是转到 GoLand 编辑器发现没有该按钮 GoLand 需要使用如下方式 如果发现没有git菜单,我们需要通过VCS导入git菜单

    2024年02月13日
    浏览(45)
  • Docker源码阅读 - goland环境准备

    docker 源码分为两部分 cli 和 moby(docker) tips: docker是从moby拷贝过去的;docker整体是一个C-S架构,cli客户端,docker服务端 docker-ce:https://github.com/docker/docker-ce cli:https://github.com/docker/cli moby: https://github.com/moby/moby docker源码由go语言编写,并且未使用go mod方式管理依赖(使用go

    2024年02月13日
    浏览(44)
  • 使用GoLand进行远程调试

    对 部署 进行配置 在此配置远程服务器地址,映射,是否自动上传(更新)等 选择 SFTP 类型 选择上传 另外给 自动上传 选项打钩 此时在本地修改某个文件,远程机器相应目录的文件,也会被同步修改 对 远程调试 进行配置 远程机器需要安装delve 而后在远程机器的相应目录执行

    2024年02月10日
    浏览(30)
  • GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程

    本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程办公。 GoLand 是由 JetBrains 推出的一款专为Go语言开发设计的 集成开发环境(IDE) 。它集成了多种高级功能,包括但不限于智能代码补全、代码分析和高级调试功能。可以帮助编写Go语言更加便捷

    2024年02月03日
    浏览(67)
  • 使用GoLand通过SSH远程连接服务器,并结合内网穿透工具实现远程办公

    本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程办公。 GoLand 是由 JetBrains 推出的一款专为Go语言开发设计的 集成开发环境(IDE) 。它集成了多种高级功能,包括但不限于智能代码补全、代码分析和高级调试功能。可以帮助编写Go语言更加便捷

    2024年01月22日
    浏览(75)
  • docker干净编译环境搭建

    操作系统版本:ubuntu 22.04.3 destop 开发环境套件:sudo apt install build-essential 1、删除旧的docker版本:sudo apt-get remove docker docker-engine docker.io containerd runc 2、安装依赖工具:sudo apt-get install ca-certificates curl gnupg lsb-release 3、下载docker源:curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubunt

    2024年02月21日
    浏览(26)
  • OpenHarmony—Docker编译环境

    OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下: 独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。 基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。 表1 D

    2024年03月11日
    浏览(60)
  • Golang教程——配置环境,再探GoLand

    Go(也称为Golang)是一种开源的编程语言,由Google开发并于2009年首次发布。Go语言旨在提供一种简单、高效、可靠的编程语言,适用于构建可扩展的软件系统。 Go语言具有以下特点: 简洁易读: Go语言的语法简洁明了,易于阅读和理解。它摒弃了一些复杂的语法和概念,使得

    2024年02月08日
    浏览(38)
  • doris docker环境编译部署

    1.准备doris docker环境 2.下载doris source code,编译doris 编译: 经常编译到一半失败,一直不通过,后来采取分开编译,一些不需要模块就不编译了; sh build.sh --fe sh build.sh --be 3.启动doris 4.测试使用

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包