goland如何把go项目打包进docker镜像

简介: 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

相关文章
|
7月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
494 100
|
7月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
482 99
|
7月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
679 98
|
7月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
722 8
|
7月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
321 8
|
8月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
515 16
|
6月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
336 2
|
8月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
503 1
|
8月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
541 0

热门文章

最新文章