Heim > Betrieb und Instandhaltung > Docker > Docker stellt zwei grundlegende Go-Images bereit

Docker stellt zwei grundlegende Go-Images bereit

王林
Freigeben: 2020-06-15 17:50:17
nach vorne
3410 Leute haben es durchsucht

Docker stellt zwei grundlegende Go-Images bereit

1. golang:neuestes Basisbild

mkdir gotest
touch main.go
touch Dockerfile
Nach dem Login kopieren

Beispielcode:

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
        fmt.Fprint(writer, "Hello World")
    })
    fmt.Println("3000!!")
    log.Fatal(http.ListenAndServe(":3000", nil))
}
Nach dem Login kopieren

Dockerfile-Konfiguration

#源镜像
FROM golang:latest
#设置工作目录
WORKDIR $GOPATH/src/github.com/gotest
#将服务器的go工程代码加入到docker容器中
ADD . $GOPATH/src/github.com/gotest
#go构建可执行文件
RUN go build .
#暴露端口
EXPOSE 3000
#最终运行docker的命令
ENTRYPOINT ["./gotest"]
Nach dem Login kopieren

Verpackungsbild

docker build -t gotest .
Nach dem Login kopieren

golang:latest Der Kompilierungsprozess besteht tatsächlich darin, eine Go-Entwicklungsumgebung im Container zu erstellen. Diese Quellbildverpackung ist etwa 800 MB groß, was relativ groß ist.

2. alpine:latest basic image

  • Der allgemeine Prozess zur Verwendung dieses Images besteht darin, das Go-Programm unter Linux zu packen Maschine zuerst in eine Binärdatei, werfen Sie sie dann in die Apine-Umgebung und führen Sie die kompilierte Datei aus.

  • Standardmäßig ist die Laufzeitumgebungsvariable von Go CGO_ENABLED=1, was bedeutet, dass cgo standardmäßig gestartet wird, sodass Sie C-Code in Go-Code aufrufen können. CGO wird deaktiviert, indem CGO_ENABLED=0 gesetzt wird. Sie müssen also Folgendes ausführen: CGO_ENABLED=0 go build.

  • Dieses Basisbildpaket ist nur 13 Millionen groß, was sehr klein ist.

#源镜像
FROM alpine:latest
#设置工作目录
WORKDIR $GOPATH/src/github.com/common
#将服务器的go工程代码加入到docker容器中
ADD . $GOPATH/src/github.com/common
#暴露端口
EXPOSE 3002
#最终运行docker的命令
ENTRYPOINT ["./common"]
Nach dem Login kopieren

Verpackungsbild:

docker build -t common .
Nach dem Login kopieren

Empfohlenes Tutorial: Docker

Das obige ist der detaillierte Inhalt vonDocker stellt zwei grundlegende Go-Images bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage