golang程序打包成docker镜像

1、部署代码部署及端口监听设置:

注意docker里面的host不能配置127.0.0.1或者192.168.0.1否则宿主机器将无法访问端口。所以这里服务启动时要绑定在0.0.0.0上。

即golang程序监听  0.0.0.0:port

2、dockerfile 生成

FROM golang:alpine  
MAINTAINER JiangHongJie "jhj767658181@gmail.com"
# docker中的工作目录
WORKDIR $GOPATH/src/gin_docker
# 将当前目录同步到docker工作目录下,也可以只配置需要的目录和文件(配置目录、编译后的程序等)
ADD . ./
# 由于所周知的原因,某些包会出现下载超时。这里在docker里也使用go module的代理服务
ENV GO111MODULE=on
ENV GOPROXY="https://goproxy.io"
# 指定编译完成后的文件名,可以不设置使用默认的,最后一步要执行该文件名
RUN go build -o gin_docker .
EXPOSE 8080
# 这里跟编译完的文件名一致
ENTRYPOINT  ["./testdocker"

3、打包成docker image

docker build -t  test_docker  .  

4、查看打包的docker image

5 运行docker 镜像

docker run --name test_docker01 -p 8080:8899 -d test_docker

原文地址:https://www.cnblogs.com/forgo/p/14860461.html