基于scratch镜像创建Golang镜像

Dockerfile文件内容如下

1
2
3
FROM scratch
COPY main /
ENTRYPOINT ["/main","-p","8887"]

构建镜像

1
docker build -t example

运行镜像

1
docker run -it example

如果运行出现

no such file or directory

则需要在构建GO应用时

1
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo

windows

1
2
3
set CGO_ENABLED=0
set GOOS=linux
go build -a -installsuffix cgo
updatedupdated2021-10-222021-10-22