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

相关文章
|
25天前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
91 21
Docker镜像-手动制作yum版nginx镜像
|
2天前
|
jenkins 持续交付 Docker
docker之自定义制作镜像(python程序)
docker之自定义制作镜像(python程序)
|
25天前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
135 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
25天前
|
应用服务中间件 Linux nginx
Docker镜像管理篇
关于Docker镜像管理的教程,涵盖了Docker镜像的基本概念、管理命令以及如何制作Docker镜像等内容。
108 7
Docker镜像管理篇
|
25天前
|
应用服务中间件 Linux nginx
Docker镜像-基于DockerFile制作yum版nginx镜像
本文介绍了如何使用Dockerfile制作一个基于CentOS 7.6.1810的yum版nginx镜像,并提供了详细的步骤和命令。
72 20
|
25天前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
409 8
|
23小时前
|
IDE Go 开发工具
8-13|Cannot run program "C:\Users\Administrator\AppData\Local\Temp\GoLand\___8go_build__go.exe" (in
8-13|Cannot run program "C:\Users\Administrator\AppData\Local\Temp\GoLand\___8go_build__go.exe" (in
|
26天前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
1天前
|
安全 Go 数据处理
探索Go语言的并发之美:Goroutines与Channels
在Go语言的世界里,"并发"不仅仅是一个概念,它是一种生活的方式。本文将带你领略Go语言中Goroutines和Channels的魔力,它们是如何让并发编程变得既简单又高效。我们将通过一个简单的示例,展示如何使用这些工具来构建一个高性能的网络服务。
|
1天前
|
关系型数据库 Go 数据处理
高效数据迁移:使用Go语言优化ETL流程
在本文中,我们将探索Go语言在处理大规模数据迁移任务中的独特优势,以及如何通过Go语言的并发特性来优化数据提取、转换和加载(ETL)流程。不同于其他摘要,本文不仅展示了Go语言在ETL过程中的应用,还提供了实用的代码示例和性能对比分析。