makefile
build:
GOOS=linux GOARCH=amd64 go build -tags netgo -o greeter-srv main.go
docker build -t greeter-srv .
run:
docker run --rm -e MICRO_REGISTRY=mdns greeter-srv
dockerfile
FROM alpine
ADD greeter-srv /greeter-srv
ENTRYPOINT [ "/greeter-srv" ]
解释:
编译时添加-tags netgo可以使编译后的文件成为静态链接的可执行文件, 不再依赖某些其它东西
如果不加这个的话, 生成的文件只能运行在debian或者centos等其他镜像上
设置
export CGO_ENABLED=0
也是可以的