iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >本地使用Docker搭建go开发环境的全过程
  • 140
分享到

本地使用Docker搭建go开发环境的全过程

2024-04-02 19:04:59 140人浏览 泡泡鱼
摘要

目录前言安装1.Docker安装2.Go安装3.配置4.运行5.完成总结前言 对于我这种小白来说,本地环境搭建常规的操作一向是直接去go官网下载go安装包,本机进行安装,然后配置相应

前言

对于我这种小白来说,本地环境搭建常规的操作一向是直接去go官网下载go安装包,本机进行安装,然后配置相应的GOROOT和GOPATH,再将GOPROXY和GO111MODULE设置完成,本地跑一下go env,可以正常使用就OK了。

不过,自从学习了docker之后,被深深的套路了。

说一下用docker部署本地环境的好处:

  • 可以保持系统软件环境的纯净。这一点对于喜欢折腾各种工具软件,然后把系统依赖环境搞的一团糟的我来说,特别受用。
  • 开发环境和当前使用系统不再强依赖。这也是我喜欢的,这样我不需要担心本地系统的各种配置文件配置,以及多个环境之间以为系统差异导致的依赖包不同造成问题,比如本地跑代码正常,线上跑不通等。
  • 开发软件的管理方式更加统一。各种编程语言都有各自的安装流程和步骤,各种应用服务的安装和配置方式也各不相同。通过 Docker,不论是 Mysql,还是 Redis,我都只需要拉镜像,映射端口,然后启动容器就可以正常使用了。

所以对于go而言,我也更希望能跑在docker容器上。

那么接下来就开始吧!

安装

1.docker安装

我使用的是MacOS Big Sur,在docker官网上下载对应的dmg包,也有docker desktop

下载地址推荐(下载速度快):Http://get.daocloud.io/

接下来等待安装,安装的步骤就不赘述了,比较简单

完成后,打开终端,输入,docker ,出现相关命令信息,表示安装成功!

2.go安装

docker完成之后,可以到docker hub(https://hub.docker.com/)上找go的镜像

我使用目前go的新版go 1.18.1,找的镜像是 golang:1.18.1-buster,拉取:

docker pull golang:1.18.1-buster

经过等待之后,完成下载

docker images命令可以查看本地所有的镜像,可以看到golang的镜像已经在了,接下来就可以操作了

运行这个镜像:

docker run -d --privileged=true golang

出现类似于”24bbe436b43ea9dd1da0e…“一串,说明启动成功

进入容器:

docker exec -it 24bbe436

注意:这里的容器ID是我的,你可以用容器名字或者容器ID进入

3.配置

进入容器后,接下来就是设置go的env环境变量,首先用:

go env

既是为了验证go是否可以正常运行,也是为了查看下当前go的环境变量的情况

一般初始化下,go需要自定义设置的就三个GOPATH、GOPROXY和GO111MODULE

  • GOPATH:go工作目录,也是以后代码存放的地方
  • GOPROXY:go包下载代理地址,为了下载包快速所改
  • GO111MODULE:允许go mod 包管理工具的使用

三行代码解决!!

go env -w GO111MODULE=on #开启go mod
go env -w GOPROXY="https://goproxy.cn"
go env -w GOPATH="/go"  #如果本身就是,那就不需要再改了,可以省略

查看下,再次 go env,是否已修改为设置的这样

自此,所有设置都完成,为了以后不重复进行设置,我们保存容器生成我们自己部署好的go环境镜像:

docker commit 24bbe43 golang-local

我将此容器重新打包为一个新的镜像,命名为golang-local,以后只要开启这个镜像,我就可以跑go代码了,当然,也可以将它传到远程hub库,用于整个项目组的基本环境搭建使用,以后协同开发的镜像都是统一的,生产也可以使用。

远程库建议使用阿里云的,具体的可以自行百度,这里就不展开了

好了,现在 docker images就可以查看到我打包的新的golang镜像,这也为后续与本机代码的使用奠定基础,接下来就是最关键的一步了。

4.运行

以上所有的步骤都是在docker里完成的,那么我们的本机与docker之间还存在着隔阂,本机放置的代码依然无法使用go环境,因为本机没有安装go,这个时候就需要用到docker经典的东东——挂载容器卷,将本地的目录与docker的容器关联起来,达到本地修改容器内的文件也可以同步修改,开始!!

先关闭之前的golang容器,docker stop 24bbe43,因为我们不需要用到它了!

然后开启我们新镜像

docker run -itd -p 8080:8080 -v /Users/jay/go/project:/go --name golang-1.18.1 golang-local

解释下关键的命令参数:

  • -p:端口映射,将docker的端口映射到本机端口,我们用8080
  • -v:挂载容器卷,冒号前面是本机的地址,后面是容器内存放地址,这里需要看你本地想放哪里,任意位置都可以,前提是需要写绝对路径,注意啊,我加粗字体了。
  • –name:容器别名,我主要是为以后多版本处理的话,可以看到当前容器的go版本,所以这么写,这个可以省略

好了,这样就开启了,至于说为什么是用8080,这个不需要固定,可以任意改你想要的端口号,也有个前提,与本地应用软件的使用端口不要冲突!!!

我用8080是因为我的goWEB服务框架gin的默认端口就是8080,方便使用

接下来就是用gin来验证环境好不好用了

5.完成

在我的工作目录/Users/jay/go/project下,

建一个项目,就叫gin-demo吧,

然后进入gin-demo,创建一个main.go文件,

写上:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello, Go.")
}

回到容器里查看下,对应的/go目录下是不是也存在相同的文件了,做个验证

然后开始,在容器里操作,

进入到gin-demo目录下,

先验证下go代码能不能跑起来

go run main.go

出现Hello,Go. 说明正常可以跑代码了,到此处,go环境算是搭建完了。

因为我需要用的是gin框架,所以接下的事情就是gin框架的使用

go mod init创建go.mod文件,

然后将main.go的内容改为以下:

package main

import "GitHub.com/gin-gonic/gin"

func main() {
    r := gin.Default()

    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run()
}

最后一步,go run main.go跑起来!!

接下来就是见证奇迹的时刻

打开浏览器,输入localhost:8080,回车!

浏览器上显示 pong,成功!

PS:go的代码运行还是需要在容器里操作,如果不想来回进出容器折腾,可以用go的一个fresh包,自动捕获代码变动重新打包运行,本地就可以快乐的写代码了,这个插件百度查下就行,这里分享一下包地址,就不细说了,我个人习惯自己去重启,比较不容易出错

go热重启go get github.com/pilu/fresh

运行 fresh 命令 ,fresh 将会自动运行项目的 main.go

到这里就结束了,个人觉得还是稍有不便,以后再整理出一份用dockerfile来部署的办法,那样就方便多了一运行就可以了,到哪都能用。

总结

到此这篇关于本地使用Docker搭建go开发环境的文章就介绍到这了,更多相关Docker搭建go开发环境内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 本地使用Docker搭建go开发环境的全过程

本文链接: https://www.lsjlt.com/news/164735.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 本地使用Docker搭建go开发环境的全过程
    目录前言安装1.docker安装2.go安装3.配置4.运行5.完成总结前言 对于我这种小白来说,本地环境搭建常规的操作一向是直接去go官网下载go安装包,本机进行安装,然后配置相应...
    99+
    2022-11-13
  • docker本地PHP开发环境搭建
    一、搭建本地PHP开发环境 概述 本文简单介绍通过启动一个nginx和fpm容器来搭建一个php web运行环境,以文档命令为例,H:/home/code/docker/web 目录下可以放多个子项目,只需针对不同的项目配置不同的nginx...
    99+
    2023-09-02
    php docker nginx linux安装PHP运行环境
  • 使用Docker搭建ApacheKafka环境的详细过程
    目录安装单个节点docker-compose.yml 配置安装集群环境docker-compose.yml配置启动kafka集群总结Docker是最受欢迎的容器引擎之一,软件行业用于...
    99+
    2022-11-13
    Docker Apache Kafka环境 Docker搭建 Kafka环境
  • 快速掌握使用Docker搭建开发环境
    随着平台的不断壮大,项目的研发对于开发人员而言,对于外部各类环境的依赖逐渐增加,特别是针对基础服务的依赖。这些现象导致开发人员常常是为了简单从而直接使用公有的基础组件进行协同开发,在...
    99+
    2022-11-12
  • 使用Docker Compose轻松搭建PHP开发环境
    随着时代的发展,开发环境搭建越来越迅速高效。而Docker Compose作为一种容器编排工具,可以让我们轻松地配置和管理多个Docker容器,从而快速搭建PHP开发环境。本文将介绍如何使用Docker Compose搭建PHP开发环境,并...
    99+
    2023-10-21
    Docker PHP compose
  • 如何使用Docker快速搭建多版本PHP开发环境
    本篇内容主要讲解“如何使用Docker快速搭建多版本PHP开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Docker快速搭建多版本PHP开发环境”吧!目标支持 PHP 5.6.x...
    99+
    2023-07-04
  • 搭建RocketMQ在本地IDEA开发调试环境教程
    目录前言生成安装包启动NameServer启动broker安装RocketMQConsole尽情的DEBUG前言 发现公司这边的消息中间件采用了aliyun的RocketMQ服务,熟...
    99+
    2022-11-13
  • VScode + keil开发环境搭建安装使用过程
    写在前面 来了新公司之后,由于这次遇见的单片机是GD32,之前的前辈也都在keil上编程,所以又不得不拿起keil,可是无奈天下苦keil的UI久矣,中途尝试过几次修改KEIL高亮及...
    99+
    2022-11-12
  • CentOS7环境下使用Docker搭建PHP运行环境的过程详解
    相关文章: CentOS7下使用yum安装Docker Win10环境下使用Docker搭建PHP运行环境 1、创建私有网络 docker network create lnmp...
    99+
    2022-11-12
  • vscode搭建STM32开发环境的详细过程
    目录需要安装的软件 vscodemakeopenocdstm32CubeMX配置开发环境配置编译下载功能配置调试功能需要安装的软件  vscode 必装插件: ...
    99+
    2022-11-12
  • openEuler 搭建java开发环境的详细过程
    目录1. 初始化环境2. 安装jdk83. 安装SVN4. 安装Git5. 安装Node.js6. 下载并激活IntelliJ IDEA7. 下载并激活Navicat本文操作系统及版...
    99+
    2022-11-13
  • 实例介绍:使用Docker快速搭建多版本PHP开发环境
    本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于怎么使用docker快速搭建多版本PHP开发环境的相关内容,下面一起来看一下希望对大家有帮助。文章中使用的软件:Mac:11.4(macOS Big Sur) ,处理器为:Inte...
    99+
    2023-05-14
    php
  • 在ubuntu下安装go开发环境的全过程
    目录一、为ubuntu20.04更新源二、设置允许以root用户登录三、安装go四、安装goland工具五、安装ssh并配置允许root登录总结一、为ubuntu20.04更新源 给...
    99+
    2022-11-11
  • 使用PhpStorm和Docker怎么搭建一个开发环境
    今天就跟大家聊聊有关使用PhpStorm和Docker怎么搭建一个开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步:使用 dockerfile 定制一个 PHP 镜像接手...
    99+
    2023-06-15
  • 教你使用eclipse 搭建Swt 环境的全过程
    目录一、查看当前使用的eclipse 版本型号二、到官网上去下载相匹配的SWT插件,或者直接在线安装三、安装SWT插件1、在线安装2、本地安装四、激活SWT插件,未激活的插件只能够使...
    99+
    2022-11-12
  • Selenium+Python自动化脚本环境搭建的全过程
    目录一、Python环境搭建1、下载安装包2、验证是否安装成功、以及是否有pip3、安装Selenium libraries二、安装谷歌浏览器和WebDriver1、安装谷歌浏览器2...
    99+
    2022-11-12
  • 使用远程Docker进行集成测试的环境搭建过程
    需求背景 团队有集成测试的需求,集成测试需要依赖一些中间件,比如mysql,rabbitmq。每个研发人员有对自己开发的那部分代码进行测试编写和运行检测的需求。 为了不互相影响,可以...
    99+
    2022-11-12
  • 怎么用Docker搭建Laravel和Vue项目的开发环境
    本篇内容主要讲解“怎么用Docker搭建Laravel和Vue项目的开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Docker搭建Laravel和...
    99+
    2022-10-19
  • Vscode搭建远程c开发环境的过程是怎样的
    这期内容当中小编将会给大家带来有关Vscode搭建远程c开发环境的过程是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。基础环境目标机:ubuntu20开发机:win10、mac 安装远程开发套件本机...
    99+
    2023-06-21
  • PyCharm使用教程之搭建Python开发环境
    PyCharm是JetBrains系列产品的一员,也是现在最好用的IDE。PyCharm维持了JetBrains一贯高度智能的作风,简要枚举如下: 独特的本地VCS系统 强大的重构功能 基于...
    99+
    2022-06-04
    环境 教程 PyCharm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作