Maison > développement back-end > Golang > le corps du texte

Comment déployer des applications Web avec Docker+Golang

PHPz
Libérer: 2023-04-06 11:00:24
original
640 Les gens l'ont consulté

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

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

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

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

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal