dockerfile文件放在golang程序根目录下:
FROM golang:1.17.3
WORKDIR /app
COPY . /app
# 依赖私有第三方module git源时需要授权
RUN git config --global credential.helper store &&
echo "https://{username}:{password}@github.com" > $HOME/.git-credentials &&
go build -o go-app . &&
rm -rf $HOME/.git-credentials
ENTRYPOINT ["/app/go-app"]
需要注意特殊字符的协议编码 如username中带有@时,应该编码为%40
http url编码
打包镜像并上传到镜像中心
// 登录镜像中心 // docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub // docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub docker login [镜像仓库] // –tag,-t 名称以及“name:tag”格式的标签(可选) // 使用当前目录的 Dockerfile 创建镜像,标签为test/go-app:v1.0.0 docker build -t test/go-app:v1.0.0 . // 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 docker push test/go-app:v1.0.0



