Installer Docker sur Ubuntu 14.04
Vous utilisez un système différent? Docker est une application qui permet de déployer des programmes exécutés en tant que conteneurs. Il a été écrit dans le populaire programme Go
Lorsque vous exécutez une application Web, vous souhaitez normalement tirer le meilleur parti de vos ressources sans avoir à convertir votre logiciel pour utiliser des boucles d'événements multithreads ou complexes. Docker, cependant, vous offre un moyen simple d'équilibrer la charge de votre application en interne pour tirer le meilleur parti des ressources du serveur. Cet article vous montrera comment utiliser Nginx pour équilibrer la charge de votre application Web à l'aide de Docker sur CentOS.
Nous utiliserons de la rouille pour créer cette application simple. En supposant que vous avez installé de la rouille, courez cargo new webapp –bin
. En cas de succès, vous verrez un répertoire appelé webapp
. À l'intérieur de webapp
, vous verrez un fichier appelé Cargo.toml
. Ajoutez-y les lignes suivantes:
[dependencies.iron]
version = "*"
Ensuite, à l'intérieur du src/main.rs
fichier, supprimez tout et remplissez-le avec les éléments suivants:
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
Iron::new(|_: &mut Request| {
Ok(Response::with((status::Ok, "Hello Vultr :)")))
}).http("0.0.0.0:3000").unwrap();
}
Remarque: ne modifiez pas l'IP dans l'application. Ceci est configuré pour que Docker puisse écouter votre application.
Une fois que vous avez terminé, compilez l'application en exécutant cargo build –release
. Selon votre serveur, cela peut prendre quelques minutes. S'il n'y a aucune erreur, testez l'application en procédant comme suit:
target/release/webapp
.http://0.0.0.0:3000/
dans votre navigateur. Remplacez 0.0.0.0
par l'adresse IP de votre serveur.Si tout fonctionnait correctement, vous verrez "Bonjour Vultr :)" sur la page.
Créez un Dockerfile
et remplissez-le avec les éléments suivants:
FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp
Enregistrez le fichier. Créez ensuite un fichier appelé deploy.sh
et remplissez-le avec les éléments suivants:
DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example .
for ((i=0; i<DEPLOY; i++)); do
docker kill $NAME$i ; docker rm $NAME$i
docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done
Lorsque vous exécutez ce script, il crée l'image et déploie le conteneur en fonction du montant que vous avez défini (la valeur par défaut est 5). Si le conteneur existe, il le tuera et le supprimera du registre avant de le redéployer.
Maintenant, créez un fichier de configuration Nginx et remplissez-le avec ce qui suit:
upstream application {
server localhost:45710;
server localhost:46710;
server localhost:47710;
server localhost:48710;
server localhost:49710;
}
server {
listen 0.0.0.0:80;
location / {
expires 1w;
proxy_pass http://application;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Remplacez 0.0.0.0
par l'adresse IP de votre serveur.
Redémarrez Nginx en faisant systemctl restart nginx
. Résolvez les erreurs, puis passez à l'étape suivante.
Déployez l'application en exécutant bash ./deploy.sh
.
Vous pouvez vérifier l'état de votre demande avec docker ps
- il y aura 5 images créées commençant par webapp
. Maintenant, accédez à http://0.0.0.0:3000/
dans votre navigateur, vous verrez à nouveau le message "Bonjour, Vultr :)".
Alors, quelle différence cela fait-il exactement?
Si vous exécutez un test de référence par rapport à la configuration de l'équilibreur de charge, vous remarquerez que davantage de ressources de votre serveur sont utilisées, ce que vous souhaiteriez, surtout si votre application est construite dans des langages comme Node où elle serait normalement à thread unique. Si vous avez besoin de mettre à niveau votre application, vous pouvez le faire et réexécuter deploy.sh
pour reconstruire l'image et déployer vos conteneurs.
Vous utilisez un système différent? Docker est une application qui permet de déployer des programmes exécutés en tant que conteneurs. Il a été écrit dans le populaire programme Go
Vous utilisez un système différent? Introduction Sentry est une solution open source pour le suivi des erreurs. Sentry suit les exceptions et autres messages utiles
Les applications PHP sont généralement composées dun serveur Web, dun système de base de données relationnelle et de linterpréteur de langage lui-même. Dans ce tutoriel, nous serons leveragin
Présentation RancherOS est un système dexploitation incroyablement léger (seulement environ 60 Mo) qui exécute un démon Docker système en tant que PID 0 pour exécuter les services système
Vous utilisez un système différent? Introduction Docker Swarm transforme vos serveurs individuels en un cluster dordinateurs; faciliter la mise à léchelle, la haute disponibilité et
Ce didacticiel explique les bases de la prise en main de Docker. Je suppose que Docker est déjà installé. Les étapes de ce didacticiel fonctionnent sur un
Nous connaissons et aimons tous Docker, une plateforme pour créer, gérer et distribuer des conteneurs dapplications sur plusieurs machines. Docker Inc. fournit un service t
Cet article vous montrera comment déployer votre application Node dans un conteneur Docker. Remarque: ce didacticiel suppose que Docker est installé et lu
Rancher OS est une distribution Linux très légère construite autour de Docker. LOS lui-même pèse environ 20 Mo. Ce tutoriel vous permettra de devenir opérationnel avec
Présentation Cet article est destiné à vous aider à obtenir un cluster Kubernetes opérationnel avec kubeadm en un rien de temps. Ce guide déploiera deux serveurs, sur
Cet article explique comment installer docker-compose sur CoreOS. Dans CoreOS, le dossier / usr / est immuable, donc le chemin standard / usr / local / bin nest pas disponible pour
Harbor est un serveur de registre de classe entreprise open source qui stocke et distribue des images Docker. Harbor étend la distribution open source Docker b
Introduction Docker est une application qui nous permet de déployer des programmes exécutés en tant que conteneurs. Il a été écrit dans le langage de programmation Go populaire
Introduction Ce guide vous montrera comment créer et configurer un essaim Docker à laide de plusieurs serveurs Alpine Linux 3.9.0 et Portainer. Veuillez noter que
Prérequis Docker engine 1.8+. Minimum de 4 Go despace disque. Minimum de 4 Go de RAM. Étape 1. Installer Docker Pour installer SQL-Server, Docker mus
Kubernetes est une plate-forme open source développée par Google pour gérer les applications conteneurisées sur un cluster de serveurs. Il s’appuie sur une décennie et
Vous utilisez un système différent? Introduction Rancher est une plate-forme open source pour exécuter des conteneurs et créer un service de conteneurs privé. Léleveur est la base
La technologie de conteneur Docker vous permet dexécuter des applications dans un environnement spécifique et isolé. Docker Community Edition (CE) est le nouveau nom du fre
Vous utilisez un système différent? Introduction Docker est une application qui permet le déploiement de logiciels dans des conteneurs virtuels. Il a été écrit dans le G
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.
Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1
L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.