Maison  >  Article  >  développement back-end  >  Comment déployer des applications Web avec Docker+Golang

Comment déployer des applications Web avec Docker+Golang

PHPz
PHPzoriginal
2023-04-06 09:11:06596parcourir

Docker et Golang sont les deux technologies les plus en vogue aujourd'hui. Docker, en tant que représentant de la technologie des conteneurs, peut réaliser un déploiement et une gestion pratiques des applications ; Golang est un langage de programmation efficace qui est largement utilisé dans le développement d'applications Web et de programmes système. Cet article explique comment utiliser Docker et Golang pour implémenter le déploiement d'applications Web.

1. Installer Docker

L'installation de Docker est très simple. Vous pouvez télécharger le package d'installation de la plateforme correspondante depuis le site officiel pour l'installation. Une fois l'installation terminée, vous pouvez vérifier si l'installation a réussi en exécutant la commande docker.

2. Écrivez une application Web Golang

Écrivons une application Web Golang simple. Le code est le suivant :

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, Docker and Golang!")
}

Ce programme est un simple serveur HTTP qui écoute le port 8080 et répond aux demandes des clients via la fonction de gestionnaire. . Nous pouvons maintenant exécuter ce programme localement et utiliser un navigateur pour accéder à http://localhost:8080. Nous pouvons voir une phrase affichée sur la page : "Bonjour, Docker et Golang !".

3. Créer une image Docker

Dans Docker, une image contient toutes les dépendances et fichiers d'une application et peut s'exécuter sur n'importe quel conteneur Docker. Nous devons créer une image Docker pour empaqueter l'application Golang afin qu'elle puisse s'exécuter sur n'importe quel conteneur Docker.

Tout d'abord, nous devons créer un fichier nommé Dockerfile et y définir le contenu suivant :

FROM golang:alpine
COPY . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

Ce Dockerfile définit un conteneur Docker basé sur l'image alpine et copie notre application dans le répertoire /app. Exécutez ensuite la commande go build pour compiler notre application et nommez le fichier binaire compilé main. Enfin, utilisez la commande CMD pour spécifier la commande à appeler lors de l'exécution du conteneur, qui doit exécuter notre application.

Ensuite, nous devons utiliser la commande docker build pour créer une image Docker. La commande est la suivante :

docker build -t my-golang-app .

Cette commande exécutera le fichier Dockerfile dans le répertoire actuel et nommera l'image générée my-golang-app.

4. Exécutez le conteneur Docker

Maintenant, nous avons déjà une image Docker nommée my-golang-app Nous pouvons utiliser la commande docker run pour exécuter le conteneur. La commande est la suivante :

docker run -p 8080:8080 my-golang-app

Cette commande démarrera. sur la machine actuelle Un conteneur Docker et mappe le port 8080 du conteneur au port 8080 de l'hôte. Maintenant, nous pouvons accéder à http://localhost:8080 dans le navigateur, et nous pouvons voir une phrase affichée sur la page : "Bonjour, Docker et Golang !", indiquant que notre programme s'est exécuté avec succès dans le conteneur Docker.

5. Résumé

Cet article explique comment utiliser Docker et Golang pour déployer des applications Web, notamment la création d'images Docker et l'exécution de conteneurs Docker. Je pense que grâce à l'introduction de cet article, les lecteurs ont compris comment empaqueter les applications Golang sous forme d'images Docker et exécuter le programme sur n'importe quel conteneur 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!

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