c语言sscanf函数的用法是什么
384
2022-10-20
【GO】GO更新1.18版本并在Docker下运行实际案例
目录
零、摘要一、查看现有版本二、升级版本
1.官网下载最新版本2. 修改环境变量3. 确认版本
三、在Docker中使用
解决Docker中拉取仓库需要输入密码解决包下载连接超时docker-compose.yml
四、总结
零、摘要
MacOS更新GO版本1.18Docker下运行GO解决Docker中拉取仓库需要输入密码解决包下载连接超时解决docker-compose下command配置多行
一、查看现有版本
go versiongo version go1.14.1 darwin/amd64
最新版本1.18的新特性
有必要升级到最新版本吗?
经过小范围的调查,开发者和所在技术团队对于新版本持积极的学习态度,建议升级到最新版本。
二、升级版本
1.官网下载最新版本
找到你所在的系统,下载安装即可。
安装包下载资源我已单独上传,方便各位下载。
2. 修改环境变量
在安装完成之后,go所在的位置是/usr/local/go
(base) blog.csdn.net/diandianxiyu_geek@localhost ~ % cd /usr/local/go(base) blog.csdn.net/diandianxiyu_geek@localhost go % lsAUTHORS PATENTS api lib testCONTRIBUTING.md README.md bin miscCONTRIBUTORS SECURITY.md codereview.cfg pkgLICENSE VERSION doc src(base) blog.csdn.net/diandianxiyu_geek@localhost go % cat VERSIONgo1.18%
添加下面到.profile。
export PATH="/usr/local/go/bin:${PATH}"
3. 确认版本
(base) blog.csdn.net/diandianxiyu_geek@localhost ~ % go version go version go1.18 darwin/amd64
三、在Docker中使用
为了方便管理不同项目的开发环境,我们使用docker-composer管理每个项目的开发环境。
以之前我发的水印为例。
首先,通过官网找到官方源。
解决Docker中拉取仓库需要输入密码
我们在执行运行Docker时会遇到这样的情况,需要我们跳转到认证授权页面验证身份,这对于在Docker中执行来说显然是不可能的。
app_1 | Cloning into 'goimgtype'...app_1 | fatal: unable to update url base from redirection:app_1 | asked for: | redirect: 部署密钥可以用于CI, 预发布或生产服务器。你可以创建一个部署密钥或添加一个现有密钥
(base) blog.csdn.net/diandianxiyu_geek@localhost ~ % ssh-keygen -t ed25519Generating public/private ed25519 key pair.Enter file in which to save the key (/Users/xiaoyu/.ssh/id_ed25519): /Users/xiaoyu/.ssh/id_ed25519 already exists.Overwrite (y/n)? yEnter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/xiaoyu/.ssh/id_ed25519Your public key has been saved in /Users/xiaoyu/.ssh/id_ed25519.pubThe key fingerprint is:SHA256:Cr7PrncZ6+GAl49NC5hDGBcGumT2Draue0BskQstYc0 xiaoyu@localhostThe key's randomart image is:然后复制到剪贴板pbcopy < ~/.ssh/id_ed25519.pub
再把生成的对应的私钥放在项目中。
解决包下载连接超时
修改配置的GOPROXY
go env -w GOPROXY='3'services: app: image: golang:1.18 volumes: - $PWD:/go/src/watermark command: - sh - -c - | eval `ssh-agent -s` ssh-add /go/src/watermark/id_ed25519 go env -w GOPROXY= cd /go/src/watermark go get -t -v github.com/golang/freetype go get -t -v gitcode.net/diandianxiyu/goimgtype go run /go/src/watermark/main.go
运行docker-compose up即可执行。
(base) blog.csdn.net/diandianxiyu_geek@localhost watermark % docker-compose upRecreating watermark_app_1 ... doneAttaching to watermark_app_1app_1 | Agent pid 9app_1 | Identity added: /go/src/watermark/id_ed25519 (xiaoyu@localhost)app_1 | go: downloading github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0app_1 | go: downloading golang.org/x/image v0.0.0-20220412021310-99f80d0ecbabapp_1 | go: downloading gitcode.net/diandianxiyu/goimgtype v1.0.0app_1 | go: downloading github.com/shamsher31/goimgext v1.0.0watermark_app_1 exited with code 0
四、总结
GO语言相关的生产环境相比其他语言更敢于使用新版本,并拥抱新变化,不像是万年的Java8。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~