goland把go项目打包进docker镜像的全过程记录

 更新时间:2022年08月09日 11:23:23   作者:年少轻与狂  
golang编译的应用是不需要依赖其他运行环境的,下面这篇文章主要给大家介绍了关于goland把go项目打包进docker镜像的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

1. goland配置Dockerfile

项目中新建Dockerfile文件

配置Dockerfile

在项目中新建Dockerfile 文件,内容如下

FROM golang:alpine

ENV GO111MODULE=on \
    CGO_ENABLE=0 \
    GOOS=linux \
    GOARCH=amd64 \
    GOPROXY="https://goproxy.cn,direct"

WORKDIR /goweb
COPY out/* ./app

EXPOSE 8088
CMD ["/goweb/app"]

第一行表示基于golang的环境镜像构建自己的docker

第二行配置go的环境

WORKDIR 表示项目放入容器中的什么地方,就是工作目录,WORKDIR指定的工作目录具有传递性,很多个WORKDIR的命令是关系的,比如首次指定工作目录是 /goweb, 那么下边下面那一行的COPY命令的 ./app 就是在/goweb下进行的相对路径

  • COPY 表示把本地的文件复制到容器内
  • EXPOSE 表示暴露什么端口,这个好像仅仅是给人看的,没啥用
  • CMD 表示基于镜像构建容器的时候,执行什么命令

2. goland构建项目

编辑构建参数

这样构建之后的产物就会在out文件夹里边,然后Dockerfile去out文件夹COPY产物,复制到docker容器内

3. Dockerfile执行

点击这里的运行就可以

登录Linux可以看到我们的docker

总结

到此这篇关于goland把go项目打包进docker镜像的文章就介绍到这了,更多相关goland go项目打包docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang如何读取单行超长的文本详解

    Golang如何读取单行超长的文本详解

    这篇文章主要给大家介绍了关于Golang如何读取单行超长文本的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-12-12
  • Go语言标准库中math模块详细功能介绍与示例代码

    Go语言标准库中math模块详细功能介绍与示例代码

    Go语言的标准库math提供了一系列基础数学函数和常量,用于进行科学计算、几何计算和其他数学相关的操作,这篇文章主要介绍了Go语言标准库中math模块详细功能介绍与示例代码,需要的朋友可以参考下
    2025-03-03
  • Go gin框架处理panic的方法详解

    Go gin框架处理panic的方法详解

    本文我们介绍下recover在gin框架中的应用, 首先,在golang中,如果在子协程中遇到了panic,那么主协程也会被终止,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • 详解在Go语言中如何实现枚举类型

    详解在Go语言中如何实现枚举类型

    枚举类型是一种常用的数据类型,用于表示一组有限的、预定义的、具名的常量值。而在 Go 语言里是没有内置枚举类型的,所以本文将介绍如何实现 “枚举类型”,需要的可以参考一下
    2023-04-04
  • golang中的时间格式化

    golang中的时间格式化

    这篇文章主要介绍了golang中的时间格式化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Go日志管理库zap安装及使用过程

    Go日志管理库zap安装及使用过程

    Zap是Go语言中一个高性能的日志记录库,它支持日志切割、多级别日志记录等功能,zap还支持使用Lumberjack进行日志文件的自动切割和归档,适用于需要高效日志管理的Go项目开发,本文介绍Go日志管理库zap安装及使用过程,感兴趣的朋友一起看看吧
    2024-09-09
  • go语言中布隆过滤器低空间成本判断元素是否存在方式

    go语言中布隆过滤器低空间成本判断元素是否存在方式

    这篇文章主要为大家介绍了go语言中布隆过滤器低空间成本判断元素是否存在方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Mac GoLand打不开(闪退)也不报错的解决方案

    Mac GoLand打不开(闪退)也不报错的解决方案

    这篇文章主要介绍了Mac GoLand打不开(闪退)也不报错的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Kotlin编程基础语法编码规范

    Kotlin编程基础语法编码规范

    这篇文章主要为大家介绍了Kotlin编程条件控制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang使用sync.singleflight解决热点缓存穿透问题

    golang使用sync.singleflight解决热点缓存穿透问题

    在go的sync包中,有一个singleflight包,里面有一个 singleflight.go文件,代码加注释,一共200行出头,通过 singleflight可以很容易实现缓存和去重的效果,避免重复计算,接下来我们就给大家详细介绍一下sync.singleflight如何解决热点缓存穿透问题
    2023-07-07

最新评论