为 Go 应用创建 Docker 镜像

嗯嗯, 最近开始用 Golang 了.

今天需要为 Go 应用创建对象, 看了下官方博客. 拿 hello world 做个测试.

使用下面的命令创建个新的项目

$ mkdir -p $GOPATH/src/github.com/addozhang/golang-hello-world && cd "$_"
$ go mod init github.com/addozhang/golang-hello-world
go: creating new go.mod: module github.com/addozhang/golang-hello-world
$ cat << EOF > main.go
package main

import "fmt"

func main() {
	fmt.Println("Hello world")
}
EOF

# go fmt

运行检查一次

$ go run main.go
Hello world

程序没问题, 下面就是构建镜像了. 创建一个 Dockerfile 文件, 内容如下:

FROM golang

LABEL Author="addozhang"
ADD . /go/src/github.com/addozhang/golang-hello-world
RUN go install github.com/addozhang/golang-hello-world
ENTRYPOINT [ "/go/bin/golang-hello-world" ]

构建镜像:

$ docker build -t addozhang/golang-hello-world .

运行镜像:

$ docker run --rm addozhang/golang-hello-world:latest
Hello world

运行没问题, 收工


文章同步发送到公众号:云编码 (微信号:sevenfeet)。

qrcode

comments powered by Disqus