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
Ce guide vous montrera comment créer et configurer un essaim Docker à l'aide de plusieurs serveurs Alpine Linux 3.9.0 et Portainer. Veuillez noter que Vultr propose une application Docker en un clic qui prend actuellement en charge CentOS 7 x64 et Ubuntu 16.04 x64.
Pour commencer, vous aurez besoin d'au moins deux serveurs VC2 exécutant Alpine Linux 3.9.0. Au sein de votre essaim Docker, l'un de ces serveurs fera office d' manager node
interface avec les réseaux externes et déléguera les tâches aux nœuds de travail. L'autre serveur agira alors comme worker node
- des tâches d'exécution qui lui seront déléguées par le nœud gestionnaire.
Notez que vous pouvez lancer plus de deux serveurs si votre application nécessite une redondance et / ou plus de puissance de calcul, et les étapes fournies dans ce guide s'appliqueront toujours.
Visitez l' interface de déploiement du serveur Vultr .
Assurez-vous que l' Vultr Cloud (VC2)
onglet est sélectionné en haut de la page.
Vous pouvez sélectionner n'importe quel emplacement dans la Server Location
section, mais tous les serveurs doivent être au même emplacement , sinon il ne sera pas possible de leur déployer un essaim Docker.
Sélectionnez l' ISO Library
onglet de la Server Type
section et choisissez l' Alpine Linux 3.9.0 x86_64
image.
Sélectionnez une option appropriée dans la Server Size
section. Ce guide utilisera la taille du serveur SSD de 25 Go, mais cela peut être insuffisant pour répondre aux besoins en ressources de votre application. Bien que Vultr facilite la mise à niveau de la taille d'un serveur une fois qu'il a déjà été lancé, vous devez toujours examiner attentivement la taille de serveur dont votre application a besoin pour fonctionner de manière optimale.
Dans la Additional Features
section, vous devez sélectionner l' Enable Private Networking
option. Bien que les autres options ne soient pas nécessaires pour suivre ce guide, vous devez déterminer si chacune a un sens dans le contexte de votre application.
Si vous avez déjà activé l' Multiple Private Networks
option sur votre compte, vous devrez alors sélectionner un réseau existant ou créer un nouveau réseau privé pour vos serveurs. Si vous ne l'avez pas activé, vous pouvez ignorer cette section. Pour plus d'informations sur la configuration manuelle des réseaux privés, consultez ce guide .
Ignorez la Firewall Group
section pour l'instant. Seul le serveur agissant en tant que nœud de gestionnaire dans l'essaim Docker aura besoin de ports exposés, et cela devrait être configuré après le déploiement du serveur.
Tout en bas de la page, vous devez saisir Server Qty
au moins deux. Comme mentionné précédemment, vous pouvez avoir besoin de plus de deux serveurs, mais deux suffisent pour suivre ce guide.
Enfin, dans la Server Hostname & Label
section, entrez des noms d'hôtes et des libellés significatifs et mémorables pour chaque serveur. Aux fins de ce guide, le nom d' hôte et l' étiquette du premier serveur sera docker-manager
et Docker Manager
, respectivement- et docker-worker
et Docker Worker
pour la seconde, respectivement.
Après avoir revérifié toutes vos configurations, vous pouvez ensuite cliquer sur le Deploy Now
bouton en bas de la page pour lancer vos serveurs.
Parce que vous avez choisi un système d'exploitation dans la bibliothèque ISO de Vultr, vous devrez installer et configurer manuellement Alpine Linux 3.9.0 sur chaque serveur.
Après avoir donné à Vultr une minute ou deux pour allouer vos serveurs, cliquez sur l' more options
icône à trois points du Docker Manager
serveur sur l' interface de gestion du serveur , puis choisissez l' View Console
option.
Vous devez être redirigé vers une console avec une invite de connexion. Sinon, veuillez attendre une minute pour que Vultr termine le déploiement de vos serveurs.
À cette invite de connexion, entrez root
comme nom d'utilisateur. La version live d'Alpine Linux 3.9.0 (qui est ce que vos serveurs exécutent actuellement) ne nécessite pas que le superutilisateur saisisse un mot de passe lors de la connexion.
Une fois que vous vous êtes connecté avec succès au compte root, vous verrez un message de bienvenue suivi d'une invite de shell qui ressemble à ceci:
localhost:~#
Pour démarrer le programme d'installation d'Alpine Linux, entrez la commande suivante:
# setup-alpine
Tout d'abord, choisissez une disposition de clavier appropriée. Ce guide utilisera la us
disposition et la variante.
Lors de la définition du nom d'hôte, choisissez le même nom d'hôte que vous avez défini pour ce serveur lors du déploiement. Si vous suivez exactement ce guide, le nom d'hôte devrait être docker-manager
.
Deux interfaces réseau doivent être disponibles: eth0
et eth1
. Si vous voyez seulement eth0
, cela signifie que vous n'avez pas configuré correctement le réseau privé de vos serveurs. Initialiser à l' eth0
aide dhcp
et initialiser eth1
à l'aide de l'adresse IP privée, du masque de réseau et de la passerelle auxquels ce serveur a été affecté lors du déploiement. Vous pouvez accéder à ces détails depuis l'interface des paramètres de votre serveur. Lorsque vous y êtes invité, n'effectuez aucune configuration réseau manuelle.
Entrez un nouveau mot de passe pour le compte root, puis sélectionnez un fuseau horaire approprié pour l'emplacement dans lequel vous avez choisi de déployer ces serveurs.
Si vous avez l'intention d'utiliser un proxy HTTP / FTP, entrez son URL, sinon ne définissez pas d'URL de proxy.
Choisissez un client NTP pour gérer la synchronisation de l'horloge système. Ce guide utilisera busybox
.
Lorsqu'on lui a demandé un miroir de référentiel de packages à utiliser, choisissez-en un explicitement en entrant son numéro; détecter et sélectionner automatiquement le plus rapide en entrant f
; ou modifiez manuellement le fichier de configuration du référentiel en entrant e
, ce qui n'est pas recommandé à moins que vous ne soyez familier avec Alpine Linux. Ce guide utilisera le premier miroir.
Si vous prévoyez d'utiliser SSH pour accéder à vos serveurs ou pour héberger un système de fichiers SSH, sélectionnez un serveur SSH à utiliser. Ce guide utilisera openssh
.
Lorsque vous êtes invité à indiquer un disque à utiliser, choisissez le disque vda
comme sys
type.
Alpine Linux 3.9.0 devrait maintenant être installé sur votre serveur. Répétez ce processus pour tous les autres serveurs que vous avez déployés précédemment, en vous assurant de substituer les valeurs correctes pour le nom d'hôte et l' eth1
interface réseau.
À ce stade, vos serveurs exécutent toujours la version ISO en direct d'Alpine Linux 3.9.0. Pour démarrer à partir de l'installation SSD, visitez l'interface des paramètres de votre serveur, accédez à l' Custom ISO
entrée du menu latéral et cliquez sur le Remove ISO
bouton. Cela devrait redémarrer le serveur. Si ce n'est pas le cas, redémarrez manuellement.
Une fois le redémarrage du serveur terminé, revenez à la console Web du serveur Docker Manager
.
Connectez-vous au compte root en utilisant le mot de passe que vous avez défini plus tôt pendant le processus d'installation.
Activez le référentiel de packages de la communauté en supprimant la mise en commentaire de la troisième ligne d' /etc/apk/repositories
utilisation vi
. Vous pouvez activer Edge et tester les référentiels de la même manière, mais ils ne sont pas tenus de suivre ce guide.
Synchronisez l'index de package local du serveur avec le référentiel distant que vous avez sélectionné précédemment en entrant la commande shell suivante:
# apk update
Ensuite, mettez à niveau les packages obsolètes:
# apk upgrade
Comme précédemment, répétez ce processus de configuration pour chaque serveur que vous avez déployé précédemment.
Avant d'installer le package Docker lui-même, vous souhaiterez peut-être créer un docker
utilisateur distinct . Vous pouvez le faire en utilisant la commande suivante:
# adduser docker
Remarque: Ce nouvel utilisateur et tous les utilisateurs ajoutés au nouveau docker
groupe auront des privilèges root une fois le package Docker installé. Consultez le problème suivant dans le référentiel Moby Github:
En raison de l'
--privileged
in docker, toute personne ajoutée au groupe 'docker' est l'équivalent root. Tous les membres du groupe Docker ont une porte dérobée autour de toutes les politiques d'augmentation de privilèges et d'audit sur le système.C'est différent de quelqu'un capable d'exécuter sudo sur root, où ils ont une stratégie et un audit qui leur est appliqué.
Si vous souhaitez autoriser sudo à l' docker
utilisateur, installez d'abord le sudo
package:
# apk add sudo
Créez ensuite un sudo
groupe:
# addgroup sudo
Enfin, ajoutez l' docker
utilisateur au sudo
groupe:
# adduser docker sudo
Vous pouvez maintenant suivre l'étape 4 de ce guide pour terminer la configuration de sudo.
À ce stade, vous êtes prêt à installer le package Docker. Notez qu'il n'est pas strictement nécessaire d'avoir un utilisateur séparé, capable de sudo docker
pour installer et configurer Docker, mais ce guide suit cette convention.
Installez le package Docker avec la commande suivante:
# apk add docker
Activez ensuite le script d'init Docker:
# rc-update add docker
Enfin, démarrez le démon Docker:
# rc-service docker start
Vous pouvez vérifier que Docker fonctionne avec cette commande:
# docker info
Comme la dernière fois, répétez ce processus d'installation Docker pour chaque serveur que vous avez déployé au démarrage.
Avec toute cette configuration traitée, vous êtes enfin prêt à créer l'essaim Docker.
Revenez à la console Web de votre Docker Manager
serveur. Vous allez configurer ce serveur en tant que nœud de gestionnaire dans votre essaim. Si vous avez choisi de créer l' docker
utilisateur plus tôt, connectez-vous en utilisant ce compte plutôt que le superutilisateur.
Entrez la commande suivante, mais remplacez-la 192.0.2.1
par l'adresse IP privée (et non publique) attribuée à votre Docker Manager
serveur:
$ docker swarm init --advertise-addr 192.0.2.1
Docker affichera une commande que vous pouvez exécuter sur d'autres serveurs du réseau privé pour les ajouter en tant que nœuds de travail à ce nouvel essaim. Enregistrez cette commande.
Accédez maintenant à la console Web de votre Docker Worker
serveur, connectez-vous avec l' docker
utilisateur si vous l'avez créé.
Pour ajouter ce serveur en tant que nœud de travail à l'essaim que vous venez de créer, exécutez la commande que vous avez enregistrée à partir de la sortie de la commande de création d'essaim. Il ressemblera à ceci:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker affichera si le nœud a pu rejoindre l'essaim. Si vous rencontrez des problèmes lors de l'ajout de nœuds de travail à l'essaim, revérifiez la configuration de votre réseau privé et consultez ce guide pour le dépannage.
Si vous avez déployé plus de deux serveurs au début, vous pouvez ajouter le reste en tant que nœuds de travail à votre essaim à l'aide de la commande ci-dessus, augmentant ainsi la quantité de ressources disponibles pour votre application. Vous pouvez également ajouter des nœuds de gestionnaire supplémentaires, mais cela dépasse le cadre de ce guide.
À ce stade, votre essaim Docker est prêt à l'emploi. Cependant, vous pouvez éventuellement lancer une pile Portainer sur le nœud gestionnaire de votre essaim. Portainer offre une interface Web pratique pour gérer votre essaim et les nœuds qui s'y trouvent.
Il est maintenant temps de créer un groupe de pare-feu pour votre essaim. À moins que votre application ne l'exige spécifiquement, exposez uniquement les ports sur les nœuds de votre gestionnaire . L'exposition de ports sur vos noeuds de travail sans considération particulière peut introduire des vulnérabilités.
Accédez à l' interface de gestion du pare - feu et créez un nouveau groupe de pare-feu. Votre application doit dicter les ports à exposer, mais vous devez, à tout le moins, exposer le port 9000
pour Portainer. Appliquez ce groupe de pare-feu au Docker Manager
serveur.
Bien que cela ne soit pas nécessaire, la sécurisation de Portainer avec SSL est fortement recommandée. Pour les besoins de ce guide, vous n'utiliserez qu'un certificat OpenSSL auto-signé, mais vous devriez envisager d' utiliser Let's Encrypt en production.
Accédez à la console Web du Docker Manager
serveur, connectez-vous à l'aide de l' docker
utilisateur et utilisez les commandes suivantes pour générer un certificat OpenSSL auto-signé:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Créez un nouveau fichier ~/portainer-agent-stack.yml
, avec le contenu suivant:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
Après avoir modifié ce fichier de configuration de la pile Docker pour qu'il soit conforme à vos besoins, vous pouvez le déployer:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Pour vérifier que Portainer fonctionne, exécutez la commande suivante après avoir donné à Docker une minute ou deux pour déployer la pile:
$ docker ps
Vous verrez deux conteneurs avec les images portainer/portainer:latest
et portainer/agent:latest
, vérifiant que Portainer a démarré correctement.
Vous pouvez désormais configurer et gérer votre essaim Docker en visitant l'adresse IP publique de votre Docker Manager
serveur sur le port à l' 9000
aide de HTTPS.
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
Lorsque vous exécutez une application Web, vous souhaitez normalement tirer le meilleur parti de vos ressources sans avoir à convertir votre logiciel pour utiliser le multithreading o
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
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.