Docker部署golang环境详解

 更新时间:2022年08月17日 09:37:40   作者:qq_39688201  
最近想学习一下golang,自己之前一直把环境全部安装在docker上,所以这次也想把golang的环境安装在docker上,先不废话,直接上手

一. docker拉取golang镜像

// 拉取最新的go版本
docker pull golang

二. 查看是否镜像是否拉取成功

// 展示所有的镜像
docker images

在镜像列表中有golang即代表golang镜像已经拉取成功。

三. 运行golang容器

// 运行golang镜像
docker run -it golang /bin/bash
// 容器启动成功后,执行go env

进入容器后,接下来就是设置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 2d5 golang-local

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

四. 在本地运行golang

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

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

然后开启我们新镜像

docker run -itd -p 8081:8081 -v /home/arno/go/go_demo:/go --name golang-1.18.1 golang-local

解释下关键的命令参数:

-p:端口映射,将docker的端口映射到本机端口,我们用8080

-v:挂载容器卷,冒号前面是本机的地址,后面是容器内存放地址,这里需要看你本地想放哪里,任意位置都可以,前提是需要写绝对路径,注意啊,我加粗字体了。

–name:容器别名,我主要是为以后多版本处理的话,可以看到当前容器的go版本,所以这么写,这个可以省略

在本地 /home/arno/go/go_demo 文件下创建main.go文件

package main
import (
    "fmt"
)
func main() {
    fmt.Println("Hello, Go21211221.")
}

打开容器,查看容器下是否存在main.go文件,执行main.go文件

即表示程序已经运行成功。

到此这篇关于Docker部署golang环境详解的文章就介绍到这了,更多相关Docker golang环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker部署Minio报错:Fatal glibc error:CPU does not support x86-64-v2问题

    docker部署Minio报错:Fatal glibc error:CPU does&nb

    在CentOS 7上使用Docker部署Minio时遇到CPU不支持问题,通过研究确定是版本太新,由于项目经费有限,决定降级到CentOS 7,步骤包括拉取Minio镜像、创建目录、开放端口和运行
    2024-12-12
  • Docker动态添加端口不需要重新建立镜像的方法

    Docker动态添加端口不需要重新建立镜像的方法

    Docker容器在运行期间有时可能会需要修改或者添加暴露的端口,但是有时候运行的容器又不想再另外建立一个新的镜像。接下来通过本文给大家分享Docker动态添加端口不需要重新建立镜像的方法,感兴趣的朋友一起看看吧
    2019-07-07
  • 私有云存储Minio Docker镜像无法启动,提示:Adding local Minio host to 'mc' configuration

    私有云存储Minio Docker镜像无法启动,提示:Adding local Minio

    使用Minio在本地搭建私有云存储时出现无法启动,查看日志频繁输出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文给大家分享私有云存储Minio Docker镜像无法启动,提示:Adding local Minio host to 'mc' configuration,感兴趣的朋友一起看看吧
    2023-11-11
  • docker国内镜像源配置的解决方案

    docker国内镜像源配置的解决方案

    文章介绍了如何配置Docker国内镜像源,以解决拉取镜像时速度慢或无法下载的问题,常见的国内镜像源包括Docker国内镜像源、中科大源、网易源、百度源、腾讯源、阿里源等,配置文件位于/etc/docker/daemon.json,如果没有该文件则需创建并修改
    2025-03-03
  • Docker部署RocketMQ的实现示例

    Docker部署RocketMQ的实现示例

    本文主要介绍了Docker部署RocketMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • 如何在Docker环境下为Nginx配置HTTPS

    如何在Docker环境下为Nginx配置HTTPS

    如何在Docker环境下为Nginx配置HTTPS,使用自签名证书实现加密通信,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Docker部署Tomcat并开放8082端口的实现步骤

    Docker部署Tomcat并开放8082端口的实现步骤

    本文主要介绍了Docker部署Tomcat并开放8082端口的实现步骤,首先安装docker环境,创建tomcat镜像,随后开放端口,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker 运行多个Springboot的详细教程

    Docker 运行多个Springboot的详细教程

    这篇文章主要介绍了Docker 运行多个Springboot的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 使用Docker 安装 Jenkins的方法

    使用Docker 安装 Jenkins的方法

    这篇文章主要介绍了使用Docker 安装 Jenkins的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 如何快速通过Docker安装SQL Server

    如何快速通过Docker安装SQL Server

    要用到sqlserver环境测试,用docker部署比较快,下面这篇文章主要给大家介绍了关于如何快速通过Docker安装SQL Server的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论