Maison  >  Article  >  développement back-end  >  Comment déployer Golang avec Docker

Comment déployer Golang avec Docker

PHPz
PHPzoriginal
2023-04-05 13:49:18973parcourir

Dans le développement logiciel actuel, la conteneurisation est devenue une méthode de déploiement très populaire. Docker est l'un des outils de conteneurisation les plus populaires. Dans Docker, nous pouvons utiliser différents langages de programmation pour créer des applications et les déployer sur diverses plateformes cloud. Aujourd'hui, nous allons nous concentrer sur la façon d'utiliser Docker pour déployer une application écrite en Golang.

Golang est un langage de programmation moderne très populaire, en particulier pour le développement d'applications Web et d'applications côté serveur. Il existe un nombre croissant de développeurs Golang en raison de ses nombreuses fonctionnalités avancées telles que les hautes performances, la prise en charge multiplateforme et la prise en charge intégrée de la concurrence. Cela fait de Golang un langage de programmation idéal pour écrire des applications modernes. Voyons comment déployer notre application Golang à l'aide de Docker.

Tout d’abord, nous devons obtenir l’image officielle de Golang depuis Docker Hub. C'est très simple, il suffit de saisir la commande suivante dans le terminal :

docker pull golang:latest

Cela téléchargera et installera la dernière version de l'image Golang. Attendez patiemment pendant le processus de téléchargement et assurez-vous que votre connexion Internet est bonne.

Ensuite, nous créerons une nouvelle application Golang. Ici, nous allons créer un site Web simple pour afficher un message de bienvenue. Tout d'abord, créez un dossier et créez un nouveau fichier appelé main.go à l'intérieur :

mkdir myapp
cd myapp
touch main.go

Maintenant, ouvrez votre éditeur de code préféré et ouvrez le fichier main.go. Ensuite, saisissez ce qui suit :

package main

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

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "欢迎来到我的网站!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

Ce programme utilise la bibliothèque standard de Golang pour créer un site Web simple et envoyer un message de bienvenue à toute personne visitant l'URL racine. Nous pouvons le compiler en binaire en utilisant le compilateur Golang. Cependant, ici, nous utiliserons Docker pour le construire et l’exécuter.

Ensuite, nous devons créer un Dockerfile contenant toutes les étapes nécessaires pour créer et exécuter notre application. Créez un nouveau Dockerfile dans le dossier myapp :

touch Dockerfile

Ensuite, nous ouvrons le Dockerfile et saisissons ce qui suit :

FROM golang:latest

WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

CMD ["app"]
EXPOSE 8080

Voyons ce que fait ce Dockerfile :

  • FROM golang: last utilisera l'image officielle de Golang que nous avons téléchargée précédemment comme image de base. FROM golang:latest将使用我们之前下载的Golang官方镜像作为基本镜像。
  • WORKDIR /go/src/app将创建一个名为go/src/app的工作目录。
  • COPY . .将整个应用程序复制到工作目录中。
  • RUN go get -d -v ./...将下载并安装所有依赖项(如果有的话)。
  • RUN go install -v ./...将编译我们的应用程序,并将二进制文件放置在/bin/app目录中。
  • CMD ["app"]将运行我们刚刚编译的二进制文件作为容器的主进程。
  • EXPOSE 8080
  • WORKDIR /go/src/app créera un répertoire de travail nommé go/src/app.

COPIER .Copiez l'intégralité de l'application dans le répertoire de travail.

RUN go get -d -v ./... téléchargera et installera toutes les dépendances (le cas échéant).

RUN go install -v ./... compilera notre application et placera les binaires dans le répertoire /bin/app.

CMD ["app"] exécutera le binaire que nous venons de compiler en tant que processus principal du conteneur.

🎜EXPOSE 8080 exposera le port 8080 du conteneur afin que nous puissions accéder à ce port depuis la machine hôte. 🎜🎜🎜Maintenant, nous sommes prêts à construire notre image Docker. Pour ce faire, accédez au dossier myapp dans le terminal et exécutez la commande suivante : 🎜
docker build -t myapp .
🎜 Cela créera une nouvelle image appelée myapp en utilisant le Dockerfile que nous venons de créer. Une fois la construction terminée, nous pouvons l'exécuter en tant que conteneur : 🎜
docker run -p 8080:8080 myapp
🎜 Cela créera un nouveau conteneur appelé myapp et le mappera au port 8080 de l'hôte. Ouvrez http://localhost:8080 dans votre navigateur et vous devriez pouvoir voir un message de bienvenue. 🎜🎜Maintenant, nous avons déployé avec succès une application Golang à l'aide de Docker. Nous pouvons prendre notre propre code, l'intégrer dans des conteneurs et le déployer sur n'importe quelle plateforme cloud. La puissance et la portabilité de Docker font des applications conteneurisées une tendance future, permettant aux développeurs d'applications de se concentrer davantage sur la mise en œuvre de la logique métier. 🎜

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!

Déclaration:
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