首页 > 系统相关 >如何在ubuntu22下安装docker版的golang来编译go语言写的代码

如何在ubuntu22下安装docker版的golang来编译go语言写的代码

时间:2023-04-05 17:34:06浏览次数:43  
标签:代码 golang 编译 build go ubuntu22 docker

为了让我们的ubuntu22系统更干净清爽我们使用docker

首先使用snap install docker安装docker后即可使用docker了

docker命令的使用方法
1:将你的代码下载到用户目录(~)下面(例如~/github/xixi/...)
2:使用cd命令进到你代码需要运行go build的文件夹
3:然后使用下面命令即可给你的代码编译

docker run --rm -v ~:/root -v ~/go:/go -w `pwd` golang go build

参数解释
1:--rm表示执行完会自动删除容器
2:这里的-v ~:/root表示你的代码放在用户目录里。
3:这里的-v ~/go:/go代表go的pkg包和依赖项下载到~/go里
4:这里的-w `pwd`代表让容器里的工作目录与主机目录保持一致
5:最后的go build代表要执行的命令

上述命令的较长,为了方便使用,我们使用alias让go的编译命令直接变成go build
首先编辑~/.bash_aliases(我只在ubuntu20/22测试过有效)

vim ~/.bash_aliases

然后增加下列代码

alias go='docker run --rm -v ~:/root -v ~/go:/go -w `pwd` golang go'

保存后需要重新登录ssh才能生效
重新登录后,你就可以直接使用go build了

cd ~/github/xixi/....
go build

标签:代码,golang,编译,build,go,ubuntu22,docker
From: https://www.cnblogs.com/xiangxisheng/p/17289958.html

相关文章

  • Google 今天抽风了!
    阅读文本大概需要1.3分钟。1. Google今天在GitHubfork了苹果的Swift项目,很多人惊呼,这Google是不是抽风了?毕竟Google旗下这么多编程语言,Golang、Dart,加上今年IO上刚宣布Android开发支持的Kotlin,现在竟然fork一门在iOS上使用的语言,这不是手抖就是脑子抽了。我......
  • Google 投资 Lyft 背后、AlphaGo Zero 人工智能威胁论?
    阅读文本大概需要1分钟。这两天有几个新闻,今天周六,闲来没事,给大家解读下吧:1. 先说下Google投资Lyft10亿美金这事,Lyft也是类似Uber的打车软件,你可以理解成当初的滴滴和快的,我去参加IO大会期间,说实话,我们大部分都是用的Lyft,因为便宜。可能很多人不知道,Google旗下无人......
  • django.db.utils.OperationalError: (2026, 'SSL connection error: unknown error nu
    写给自己的问题备忘录django.db.utils.OperationalError:(2026,'SSLconnectionerror:unknownerrornumber')执行:pythonmanage.pymigrate报错,如下。  明明上个项目还好好的,怎么换个就不行了,网上的答案各种各种。决定从自己配置找原因,对比发现,两个环境的 mysqlclie......
  • 【拓展】Go语言基础加强
    1、深浅拷贝浅拷贝:仅仅拷贝的是变量的值,没有对指向的空间进行任何的拷贝。深拷贝:将原有的变量的空间地址全部拷贝一份。在Go语言中,变量的赋值操作默认是浅拷贝,即两个变量指向同一个内存地址。这意味着,如果修改其中一个变量的值,另一个变量的值也会发生变化。对于复杂数据类......
  • Go语言入门4(切片)
    切片​ Go语言切片是一种建立在数组类型之上的抽象,它构建在数组之上并且提供更强大的能力和便捷。解决了数组长度不可变等缺陷声明切片​ 切片的数据结构非常小,只有三个字段:指向底层数组的指针,切片长度,切片容量。切片长度是指切片的真实长度,切片容量是指切片可扩展的最大长度,一......
  • windows子系统ubuntu2204 wsl2
    前提:windows内核版本支持wsl2(目前是内部版本不能低于19041)查看命令(cmd/powershell):winver1.wsl1不需要内核虚拟化和hyper-v,wsl2需要内核虚拟化支持并启用hyper-v所以可能使用wsl1时,可以创建虚拟机,但是启用wsl2就会报错,提示:未开启bios虚拟化或hyper-v启用wsldism.exe/onlin......
  • Go语言入门3(数组)
    数组​ 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整形、字符串或者自定义类型(结构体、接口)。数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。⭐:在其他语言中数组大多是引用类......
  • 解决picgo上传图片到github失败的方法
    今天在typora上写笔记,发现图片不能上传到github上,网上找了几个方法,发现都不能解决问题,一直在报错,折腾一会才解决,下面分享我的解决问题过程:首先先检查自己配置是否有错,检查仓库名是否写错,是否带有空格,picgo空格默认的是‘_’,分支名字可以是main或master,token可以再生成一个复制......
  • go run、build、install、get的原理和区别
    学习go也有好些年头了,都没怎么研究过go的编译命令。真是惭愧。今天学习并记录下结论:gorun专门用来运行命令源码文件的命令,一般用来运行单个文件gobuild主要是用于测试编译。编译某个包或者项目,在当前目录下生成可执行文件goinstall编译并安装代码包或者源码文件的。go......
  • python安装g2opy与pagolin踩坑记录
    0x00.前言本文是在python环境下跑slam时配置环境的一点记录,感谢代码作者uoip的贡献项目代码:g2opy:https://github.com/uoip/g2opypangolin:https://github.com/uoip/pangolin0x01.安装笔者的环境是使用anaconda搭建的虚拟环境,由于一开始没有激活虚拟环境导致踩坑,之后虽然......