天天看点

golang构建Dockerfile,并打包成镜像,运行在docker和k8s上

Dockerfile文件的描述:

FROM golang:alpine

ENV GO111MODULE=on \
    GOPROXY=https://goproxy.io,direct \
    CGB_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64

WORKDIR /mine/OnlySearchv2.0

COPY OnlySearchv2.0 /mine/OnlySearchv2.0

RUN go build -o app .

ENTRYPOINT ["/mine/OnlySearchv2.0/app"]
           
docker build -f Dockerfile -t onlyserarch:v1.0 .
           

 执行结果:

Sending build context to Docker daemon  4.195MB
Step 1/6 : FROM golang:alpine
 ---> 19b59f022241
Step 2/6 : ENV GO111MODULE=on     GOPROXY=https://goproxy.io,direct     CGB_ENABLED=0     GOOS=linux     GOARCH=amd64
 ---> Using cache
 ---> 6f22dd5a3db4
Step 3/6 : WORKDIR /mine/OnlySearchv2.0
 ---> Using cache
 ---> 2d0497229a79
Step 4/6 : COPY OnlySearchv2.0 /mine/OnlySearchv2.0
 ---> Using cache
 ---> 32da51eedfcd
Step 5/6 : RUN go build -o app .
 ---> Running in 03d82376b04b
go: downloading github.com/kataras/iris/v12 v12.1.8
go: downloading github.com/go-sql-driver/mysql v1.5.0
go: downloading github.com/go-xorm/xorm v0.7.9
go: downloading github.com/go-redis/redis/v8 v8.7.0
go: downloading github.com/json-iterator/go v1.1.10
go: downloading github.com/PuerkitoBio/goquery v1.6.1
go: downloading github.com/emirpasic/gods v1.12.0
go: downloading github.com/cespare/xxhash/v2 v2.1.1
go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
go: downloading go.opentelemetry.io/otel v0.18.0
go: downloading xorm.io/builder v0.3.9
go: downloading xorm.io/core v0.7.3
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading go.opentelemetry.io/otel/trace v0.18.0
go: downloading github.com/modern-go/reflect2 v1.0.1
go: downloading github.com/andybalholm/cascadia v1.2.0
go: downloading golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
go: downloading github.com/BurntSushi/toml v0.3.1
go: downloading github.com/kataras/golog v0.1.7
go: downloading github.com/kataras/sitemap v0.0.5
go: downloading gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
go: downloading github.com/Shopify/goreferrer v0.0.0-20210305184658-1a4fe54f556d
go: downloading github.com/fatih/structs v1.1.0
go: downloading github.com/iris-contrib/blackfriday v2.0.0+incompatible
go: downloading github.com/iris-contrib/schema v0.0.6
go: downloading github.com/klauspost/compress v1.11.12
go: downloading github.com/microcosm-cc/bluemonday v1.0.4
go: downloading golang.org/x/text v0.3.5
go: downloading github.com/iris-contrib/go.uuid v2.0.0+incompatible
go: downloading go.opentelemetry.io/otel/metric v0.18.0
go: downloading golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
go: downloading github.com/schollz/closestmatch v2.1.0+incompatible
go: downloading gopkg.in/ini.v1 v1.62.0
go: downloading github.com/ryanuber/columnize v2.1.2+incompatible
go: downloading github.com/CloudyKit/jet/v3 v3.0.1
go: downloading github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible
go: downloading github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385
go: downloading github.com/iris-contrib/jade v1.1.4
go: downloading github.com/iris-contrib/pongo2 v0.0.1
go: downloading github.com/kataras/pio v0.0.10
go: downloading github.com/kataras/neffos v0.0.18
go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0
go: downloading github.com/chris-ramon/douceur v0.2.0
go: downloading github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53
go: downloading github.com/mediocregopher/radix/v3 v3.7.0
go: downloading github.com/gobwas/ws v1.0.4
go: downloading github.com/gorilla/websocket v1.4.2
go: downloading github.com/nats-io/nats.go v1.10.0
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading github.com/aymerick/douceur v0.2.0
go: downloading github.com/gorilla/css v1.0.0
go: downloading github.com/gobwas/pool v0.2.1
go: downloading github.com/gobwas/httphead v0.1.0
go: downloading github.com/nats-io/jwt v1.2.2
go: downloading github.com/nats-io/nkeys v0.2.0
go: downloading github.com/nats-io/nuid v1.0.1
Removing intermediate container 03d82376b04b
 ---> b12bd11bb9fe
Step 6/6 : ENTRYPOINT ["/mine/OnlySearchv2.0/app"]
 ---> Running in a182c4a48569
Removing intermediate container a182c4a48569
 ---> 597c7f4a53c1
Successfully built 597c7f4a53c1
Successfully tagged onlyserarch:v1.0
           
[[email protected] mine]# docker run -d -p 8080:8080 onlyserarch:v1.0
b6e38535a622daa2dc5bb75814c4d814827f043816e616cf524cf00a1762ea93