记第一次构建Docker镜像

交叉编译

在项目目录下执行以下命令:

1
CGO_ENABLED=0 GOOS=linux go build -a -o binary_name .
配置项 含义
CGO_ENABLED 禁用CGO,官方文档中有说到,交叉编译时会自动禁用
GOOS 交叉编译目标操作系统,默认是当前系统
-a 强制编译已经缓存的包
-o 自定义编译后生成的二进制名称

Dockerfile

书写你的 Dockerfile

Docker build

执行以下命令

1
docker build -t username/image-name .

docker build

Docker run

测试镜像是否能正常运行:

1
docker run --rm username/image-name

docker run

发布到DockerHub

首先需要登录(默认会登录到docker.io)

1
docker login

docker login

然后需要给镜像打一个标签

1
docker tag short-sha username/image-name

docker tag

然后发布镜像到DockerHub

1
docker push username/image-name:tag

docker push