Maison> Opération et maintenance> Docker> le corps du texte

Docker déploie deux images de base de go

王林
Libérer: 2020-06-15 17:50:17
avant
3256 Les gens l'ont consulté

Docker déploie deux images de base de go

1. golang:dernière image de base

mkdir gotest touch main.go touch Dockerfile
Copier après la connexion

Exemple de code :

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)) }
Copier après la connexion

Configuration du fichier Docker

#源镜像 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"]
Copier après la connexion

Image d'emballage

docker build -t gotest .
Copier après la connexion

golang:latest Le processus de compilation consiste en fait à créer un environnement de développement go dans le conteneur. Cet emballage d'image source fait environ 800 Mo, ce qui est relativement volumineux.

2. alpine : dernière image de base

  • Le processus général d'utilisation de cette image consiste à empaqueter le programme go sous Linux. machine d'abord dans un fichier binaire, puis lancez-le dans l'environnement apine et exécutez le fichier compilé.

  • Par défaut, la variable d'environnement d'exécution de Go CGO_ENABLED=1, ce qui signifie que cgo est démarré par défaut, vous permettant d'appeler du code C dans le code Go. CGO est désactivé en définissant CGO_ENABLED=0. Vous devez donc exécuter : CGO_ENABLED=0 go build C'est tout.

  • Ce paquet d'images de base ne fait que 13 Mo, ce qui est très petit.

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

Image d'emballage :

docker build -t common .
Copier après la connexion

Tutoriel recommandé :docker

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!