[LINUX] Utilisez des cas qui vous motivent à utiliser Docker que vous n'avez jamais utilisé

introduction

Lors de l'apprentissage de Docker, le modèle que vous allez étudier car vous l'utilisez dans des projets d'entreprise Je souhaite l'utiliser car il est souvent utilisé! Je pense qu'il peut être divisé en deux motifs (j'étais le dernier)

Quand j'ai étudié, je ne savais pas comment l'utiliser, et il y avait différentes parties que j'ai comprises en l'utilisant dans mon travail. Nous avons résumé les cas d'utilisation et les avantages que nous avons trouvés utiles. J'espère que le plus de gens possible voudront le lire et l'utiliser.

Utilisé pour le développement personnel

Créez un environnement de développement Linux avec Docker sur votre PC (Win ou Mac)

mérite
・ Le développement avec une version linguistique différente du PC du vaisseau mère peut être effectué sans changer de package.

Créez un environnement Linux avec Docker et placez-y des packages de langue, etc. pour créer un environnement de développement. L'essence est que vous pouvez empaqueter un environnement qui peut être développé dans les mêmes conditions qu'une image Docker, peu importe où vous vous connectez. Même si vous achetez un autre PC si vous avez une image, vous pouvez créer le même environnement immédiatement si vous installez Docker, Si vous configurez un conteneur sur le cloud tel qu'AWS, vous pouvez démarrer le développement immédiatement en vous connectant avec SSH.

-Depuis qu'il est en fait développé sous Linux, il n'y a pas de différence de système d'exploitation lors du déploiement, et il est facile de publier à partir de la création du conteneur.

C'est presque le même que ci-dessus, mais comme il sera développé sous Linux, écrivez le fichier docker tel quel et créez une image, Vous pouvez publier le conteneur développé immédiatement en le téléchargeant dans le cloud pour des conteneurs tels que ECR et GCR. Comparé au déploiement d'un produit développé dans votre propre environnement sur EC2, etc., il y a moins de possibilité de différences environnementales et c'est pratique.

Utilisé dans les projets d'entreprise

Utiliser comme environnement de développement

Vous pouvez créer rapidement un environnement pour plusieurs personnes à l'aide d'un conteneur

Vous pouvez facilement créer plusieurs environnements en changeant simplement l'instance qui pousse l'image Docker. Étant donné que l'environnement de développement peut être distribué, l'entrée de projet peut être effectuée facilement et il est également possible de générer des instances pour les tests. Il est possible de répondre de manière flexible. Au démarrage, je change souvent différents modules et je les essaie. Transformez la partie inchangée (logique principale, etc.) en une image Docker et ne transformez que la partie modifiée en une autre image L'efficacité du travail sera améliorée en essayant l'environnement avec la description de docker-compose et en jetant immédiatement les conteneurs inutiles. (Si vous faites la même chose localement, vous devrez supprimer le package, résoudre l'erreur, etc., ce qui nécessitera un énorme travail.)

Utilisé pour l'opération de production

Puisqu'il est facile à mettre à l'échelle, il peut être exploité au mieux selon l'échelle du service.

Dans les jeux sociaux, etc., s'il y a un événement, l'accès augmentera et l'accès la nuit diminuera. Si le système ne peut pas être mis à l'échelle, il est possible que le serveur tombe en panne en raison d'un gaspillage de ressources ou d'un accès excessif. En utilisant Docker, il est possible de passer à l'échelle et de procéder à une mise à l'échelle conteneur par conteneur. Il peut être utilisé tout en adaptant de manière flexible la configuration en fonction de l'accès.

Lubrification et accélération des opérations de service

Puisque le travail lié au développement (test, déploiement, scaling, etc.) devient plus facile, vous pouvez vous concentrer sur le produit lui-même. Cela entraînera une réduction du temps global comme la planification du temps au temps de travail ainsi que l'aspect technique.

Choses à craindre à propos de Docker

Le développement est possible sans l'utiliser séparément ・ Difficulté à rejoindre une entreprise de location

En premier lieu, la méthode de fonctionnement jusqu'à ce que Docker soit utilisé n'est pas fausse, donc compte tenu du temps de l'introduire nouvellement Je pense que c'est une option pour les entreprises de recevoir le plus de commandes possible et de poursuivre le même développement. Dans l'article de 2019, 9,2% des entreprises utilisent réellement des conteneurs Docker au Japon , Participer à l'entreprise concernée Il existe des obstacles à la participation au projet.

Coût d'étude élevé à partir de 0

S'il n'y a pas de membres expérimentés, même si 7 membres apprennent Docker en une journée, cela prendra une semaine. Le temps de recherche est nécessaire pour toute nouvelle technologie, mais il y a aussi le "développement peut se poursuivre sans l'utiliser". Les obstacles à l'introduction changeront selon que ce délai est considéré comme "nécessaire" et du nombre de personnes ayant une expérience Docke dans l'équipe.

Études de cas / problèmes de connaissances

En particulier, j'estime que le faible taux d'adoption en phase d'exploitation est largement dû au manque de connaissances. Récemment, lors d'un événement AWS, il y a eu une présentation d'un cas d'adoption célèbre de Docker, Je trouve également des cas que je trouve utiles dans les articles LT détenus par des entreprises. Il y a plus de cas d'utilisation qui peuvent être utilisés comme référence lors de l'adoption comme suivi, et je pense que c'est une option très intéressante. Bien que pratique, ce n'est pas une solution miracle, il est donc nécessaire de se demander si elle est avantageuse par rapport à d'autres technologies.

Résumé

mérite

・ ** Minimiser les différences environnementales ** et développer et fonctionner avec moins de stress ・ Puisqu'il peut être utilisé dans toutes les phases en fonction de son utilisation, ** le temps total peut être réduit ** ・ Lors d'un entretien avec une entreprise de location, ce serait bien de pouvoir répondre et répondre au sujet du fonctionnement de Docker.

Démérite

・ Parce qu'un peu de temps d'étude est nécessaire ** Si vous n'avez pas l'intention de continuer à l'utiliser, le mérite est faible ** ・ Il appartient à l'entreprise de rejoindre l'équipe de recrutement ou d'obtenir l'approbation pour l'introduction.

référence

Développement personnel

Une histoire qui a rendu la création d'un environnement de développement 10 fois plus facile avec Docker Développer dans des conteneurs à l'aide des conteneurs distants de VS CodeJ'ai essayé l'extension Remote --Containers de VSCode

Fonctionnement / mise à l'échelle

[AWS] 7 choses à savoir avant Auto Scaling Connaissance opérationnelle d'Amazon ECS et de Docker pour gérer des charges à grande échelle avec Romancing SaGa RS Idée de base du scale-outPourquoi nous utilisons des conteneurs / Docker en 2018L'avenir des conteneurs vu dans Mastodon / Netflix Les conteneurs peuvent-ils devenir le principal développement de services?

Recommended Posts

Utilisez des cas qui vous motivent à utiliser Docker que vous n'avez jamais utilisé
Image Docker pouvant utiliser cx_Oracle
[Python] J'ai fait un décorateur qui ne semble pas avoir d'utilité.
[Python] Utilisez des pandas pour extraire △△ qui maximise ○○
"Mentez ... Qu'as-tu fait?"
Comment utiliser Tensorflow dans un environnement Docker
Deux outils de génération de documents que vous souhaitez absolument utiliser si vous écrivez python