Maison >Opération et maintenance >Docker >Qu'est-ce que Docker ? Que peut-on faire ?
Docker est un moteur de conteneur d'applications open source. Ce que Docker peut faire : 1. Créer rapidement un environnement de développement ; 2. Simuler un environnement de production ; 4. Auto-déploiement ; ; 6. Gérer tous les services sur une seule machine ; 7. Développer QPS, etc.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.
Qu'est-ce que Docker ?
Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de regrouper leurs applications et leurs packages de dépendances dans une image portable, puis de la publier sur n'importe quelle machine avec système d'exploitation Linux ou Windows populaire. Il peut également être implémenté sous forme de virtualisation. Les conteneurs utilisent entièrement le mécanisme sandbox et n’auront aucune interface entre eux.
Que peut faire Docker ?
1. Configurer rapidement un environnement de développement
Avez-vous besoin d'essayer rapidement Magento sur votre système local ou d'utiliser MySQL pour un projet ? Ou souhaitez-vous essayer la plupart des projets open source ? Alors utilisez Docker, cela vous fera gagner beaucoup de temps. Docker peut améliorer l'efficacité du développement des développeurs et nous permettre de créer rapidement un environnement de développement.
Les machines dans l'environnement de développement ont généralement une mémoire relativement petite. Lors de l'utilisation de la virtualisation auparavant, il était souvent nécessaire d'ajouter de la mémoire à la machine dans l'environnement de développement. Cependant, grâce à Docker, des dizaines de services peuvent être facilement exécutés dans Docker.
2. Microservices
Utilisez-vous des microservices ? Architecture de microservices : division d'une application monolithique en services individuels faiblement couplés.
Pensez ensuite à Docker. Vous pouvez empaqueter chaque service sous forme d'image Docker et utiliser docker-compose pour simuler l'environnement de production (réseaux Docker de paiement). Cela peut prendre du temps et être laborieux au début, mais à long terme, cela finira par générer une énorme productivité.
3. Tests automatisés
Imaginez la question : comment rédiger des cas de test d'intégration automatisés ? Ces cas de test ne mettent pas beaucoup de temps à démarrer et peuvent être facilement gérés par les utilisateurs.
Cela ne signifie pas exécuter des cas de test dans Docker, mais exécuter des cas de test en étroite collaboration avec l'image. Il y a un gros avantage lorsque vous écrivez des cas de test sur une image Docker. Voici une brève introduction à mon processus de test : exécutez deux images Docker (app + db), chargez les données au démarrage de MySQL et utilisez l'API sur le docker de l'application.
4. Auto-déploiement
Vous pouvez utiliser des images Docker pour l'auto-déploiement. De nombreux grands fournisseurs d'hébergement prennent en charge Docker hébergé, et si vous disposez d'un nœud/VM dédié avec accès au shell, les choses seront plus faciles. Configurez simplement Docker et exécutez votre image sur le port souhaité.
5. Intégration continue/déploiement continu
On dit que Docker est naturellement adapté à l'intégration continue/au déploiement continu, en utilisant Docker dans le déploiement, le déploiement continu deviendra très simple et sera terminé après la saisie d'un nouveau redémarrage d'image. .
Concernant l'automatisation de cette partie, il existe désormais de nombreuses solutions parmi lesquelles choisir, et Kubernetes est un nom familier. Kubernetes est un système de gestion de clusters de conteneurs. Il s'agit d'une plate-forme open source qui peut réaliser le déploiement automatique, l'expansion et la contraction automatiques, la maintenance et d'autres fonctions des clusters de conteneurs.
6. Environnement multi-tenant (Multi-tenancy)
Un scénario d'utilisation intéressant de Docker est celui des applications multi-tenant, qui peuvent éviter la réécriture des applications clés. Si vous exposez des services d'application à plusieurs locataires (un locataire est un groupe d'utilisateurs, tel qu'une organisation), les applications conçues avec une solution à locataire unique peuvent rapidement obtenir des services multi-locataires si elles utilisent un sous-domaine + docker.
Un exemple de ce scénario est le développement d'un environnement multi-tenant rapide et facile à utiliser pour les applications IoT. Le code de base de ce type de multilocation est très complexe et difficile à gérer. La replanification d'une telle application prend non seulement du temps, mais également de l'argent. À l'aide de Docker, vous pouvez créer des environnements isolés pour plusieurs instances de la couche d'application de chaque locataire, ce qui est non seulement simple mais également peu coûteux. Bien entendu, tout cela bénéficie de la vitesse de démarrage de l'environnement Docker et de sa commande diff efficace.
7. Plusieurs applications à partir d'une seule machine
Cela est quelque peu lié aux microservices mentionnés ci-dessus, mais même si vous n'utilisez pas de microservices et fournissez simplement des services, Docker peut toujours gérer très facilement tous les services sur une seule machine. Vous devez utiliser des montages de dossiers pour conserver les données de chaque image Docker basée sur les données.
8. Scaling QPS (Scaling QPS)
Docker vous aide à vous développer facilement horizontalement en créant un autre conteneur. Si vous rencontrez d'énormes pics de trafic, Docker peut vous aider à résoudre le problème : ajoutez simplement plus de machines et augmentez le nombre de conteneurs exécutés derrière l'équilibreur de charge.
Quels sont les avantages de l'utilisation de Docker
1. Simple et facile à utiliser, simplifier les étapes d'installation complexes précédentes de l'application le rendra très facile.
2. Compatible avec une variété d'applications Web, d'applications d'arrière-plan, d'applications de base de données, d'applications Big Data telles que les clusters Hadoop, les files d'attente de messages, etc. peuvent être regroupées dans des miroirs pour le déploiement.
3. Économisez de l'argent Docker combiné au cloud peut atteindre des performances élevées et un prix bas
Apprentissage recommandé : "Tutoriel vidéo 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!