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

来自:网络
时间:2023-01-01
阅读:
目录

1. goland配置Dockerfile

项目中新建Dockerfile文件

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

配置Dockerfile

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

在项目中新建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构建项目

编辑构建参数

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

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

3. Dockerfile执行

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

点击这里的运行就可以

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

登录Linux可以看到我们的docker

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

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

总结

返回顶部
顶部