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

经验分享 程序员 微信小程序 职场和发展