Nous avons abordé deux méthodes pour échapper aux conteneurs Docker, notamment la méthode de montage du système de fichiers hôte complet ou l'utilisation de l'espace de noms du processus système. Cela faisait partie du Salle Docker Rodéo.

Obtenez les notes de l'équipe bleue

Réponses de la salle

Docker fonctionne-t-il sur un hyperviseur ? (Ouais/Non)
Quel est le numéro de port du 2ème registre Docker ?

Quel est le nom du référentiel au sein de ce registre ?

Quel est le nom du tag qui a été publié ?

Quel est le nom d'utilisateur dans la configuration de la base de données ?

Quel est le mot de passe dans la configuration de la base de données ?

Quel est le "ID_IMAGE" pour le "défi« Image Docker que vous venez de télécharger ?

En utilisant Dive, combien de « couches » y a-t-il dans cette image ?

Quel utilisateur a été ajouté avec succès ?

Contenu de « flag.txt » du système d'exploitation hôte
Transcription vidéo
Que se passe-t-il, les gars, bienvenue dans cette vidéo d'aujourd'hui, nous allons continuer et parler des conteneurs Docker maintenant dans la vidéo précédente, dans la dernière vidéo, nous avons parlé de la conteneurisation, de l'idée de la conteneurisation et de ses différences ou des différences entre la conteneurisation et les machines virtuelles ou la virtualisation et nous avons également expliqué à quel point il est avantageux d'utiliser les conteneurs Docker si vous souhaitez utiliser la virtualisation ou si vous souhaitez exécuter des emplacements à l'intérieur et ainsi que les environnements, car la conteneurisation permet d'économiser des ressources de manière pratique et sécurisée.
Dans la vidéo d'aujourd'hui, nous allons parler de la façon de commencer à créer des conteneurs Docker. Nous parlons donc de la création de conteneurs Docker, nous parlons de suivre plusieurs étapes systématiques pour finalement arriver à un point où vous disposez d'un conteneur Docker entièrement déployé.
Nous sommes à l'intérieur du conteneur et nous pourrions avoir des applications en cours d'exécution telles que le serveur Web, la base de données MySQL, les applications régulières, les systèmes d'exploitation, etc. Nous allons donc diviser la construction de conteneurs Docker en deux types, le premier construisant le conteneur Docker à partir de zéro et l'autre construisant le conteneur Docker. en tirant l'image sur le fichier image Docker d'arity, donc même si nous avons deux types, le premier mais la première chose est que le premier type construit le conteneur Docker à partir de zéro, ce qui signifie que la première chose que nous devons faire est de créer un fichier Docker nommément appelé un fichier Docker, le fichier docker est en fait un fichier qui contient les instructions qui seront exécutées une fois que votre Docker est en cours d'exécution ou est-ce que le conteneur Docker est opérationnel maintenant, finalement, le fichier docker forme ce qu'on appelle l'image du conteneur quart, donc une fois que nous avons construit le fichier docker nous informons le conteneur quelles sont les instructions ou quelles sont les commandes qui seront exécutées.
Une fois que le conteneur Docker est opérationnel, le fichier actuel est le bloc de construction de base ou de rythme ou l'unité de tout conteneur Docker, nous devons d'abord construire ce fichier ou nous pouvons trouver dr. fichiers en ligne sous forme d'images, nous pouvons les télécharger, puis nous pouvons démarrer le conteneur, mais si vous voulez les créer à partir de zéro, vous devez d'abord créer le fichier docker, donc je l'ai dit, comme vous pouvez le voir, les fichiers de médecin peuvent être construits en comprenant quels sont les commandes de base qui les construisent comme vous pouvez le voir dr. les fichiers sont fermentés de la manière suivante instruction et argument Donc les instructions sont clairement mentionnées dans la documentation du site dockCoker vous pouvez toutes les trouver ici mais j'en ai mentionné certaines dans un exemple ci-dessous ici donc comme vous pouvez le voir, c'est un exemple de fichier docker, nous avons donc l'instruction comme à partir du répertoire de travail, exécutez, exécutez, exposez ces CMD, exécutez, ce sont toutes des instructions, nous avons donc la première instruction, puis nous avons l'argument, donc dans ce cas, ici, l'instruction est de et l'argument est que vous êtes va terminer la balise est 200 220 pour l'instant Ubuntu est le nom du système d'exploitation de l'image et 22.0 pour est la balise, la balise spécifie la version de l'image donc quand nous disons que vous ne devrez pas 22.0 car cela signifie que nous utilisons le système d'exploitation Ubuntu version 12.04 et ensuite nous avons l'instruction répertoire de travail slash slash signifie que nous définissons le répertoire de travail à la racine du conteneur et ensuite nous avons celui-ci pour que l'instruction soit exécutée et mise à jour du kit de tableau de bord Dash y ceci est un commentaire.
OK, cela est exécuté comme vous pouvez le voir, j'ai des explications ici, alors exécutez, exécutez une commande, nous allons donc faire ici, nous exécutons la mise à jour du référentiel ap2, puis ici nous utilisons la même instruction, exécutez l'installation d'une batterie pour que vous puissiez voir quand nous disons exécuter, nous exécutons une commande, le courant ici est une commande Linux, donc en fonction du système d'exploitation spécifié dans l'instruction from, la commande suit donc si vous l'êtes si vous définissez le système d'exploitation sur Windows, vous devez utiliser la commande Windows ok et après l'instruction Run Okay, exposez maintenant ici puisque nous exécutons un serveur Web, nous devons exécuter le serveur Web sur un port, alors exposez-moi quel est le port afin qu'il expose l'instruction et 80 est l'argument qui se trouve être le port 80 et ici CMD, alors quelle est la différence entre run et CMD, donc fondamentalement, les deux exécutent des différences de commandes, CMD exécute la commande une fois que le conteneur démarre correctement une fois que le conteneur serait exécuté au démarrage du conteneur.
D'accord, c'est le fichier docker prêt, maintenant cela forme l'image du conteneur docker que nous voulons construire, une fois que le fichier docker est prêt, nous sommes maintenant prêts à passer à l'étape suivante, donc une fois que nous avons préparé le fichier docker, nous devons construire le docker. conteneur donc l'étape suivante consiste à construire le conteneur Docker, alors disons que nous avons nommé l'image ou le fichier Docker comme oui afin que vous puissiez vous rappeler que tout ce que vous voulez, nous construisons le conteneur Docker, utilisez la commande suivante Docker build darker build construit le conteneur avec le fichier docker que nous venons de créer si sombre et horrible Dash T maintenant dash T nous donnons un nom au conteneur docker disons que nous le nommons comme Stocker dots spécifie le chemin d'accès au fichier docker que nous avons créé dans ce cas, il existe dans le répertoire de travail actuel s'il ne le fait pas n'existe pas dans le répertoire de travail actuel, vous pouvez spécifier le chemin ici.
C'est ce que le fichier docker une fois que nous avons exécuté cette commande, nous avons construit avec succès le conteneur Docker, nous verrons que dans le scénario pratique, une fois que nous avons construit les conteneurs Docker, nous avons créé le fichier Docker, construisons le conteneur Docker, maintenant il est temps d'exécuter les conteneurs, ok maintenant nous possédons le contenu à l'aide de la commande suivante Docker run exécute le conteneur Docker Dash D Dash T exécute le contrôle le plus sombre en mode détaché, ce qui signifie que nous l'exécutons en arrière-plan Dash Dash Name Serveur Web Apache ici, nous spécifions clairement un nom pour le conteneur Docker Je sais que nous précédemment spécifié le harceleur mais ici, si vous souhaitez changer le nom, vous pouvez utiliser le nom du tiret Dash p 8080 spécifie le port que le conteneur Docker utilisera puisque nous exécutons une image de serveur Web, ok, nous utilisons le port 80 pour que le conteneur Docker écoute sur le port.
Il s'agit d'un conteneur Docker avec des puces, ok, rappelez-vous maintenant que lorsque nous avons construit le conteneur Docker, nous l'avons nommé le harceleur, nous spécifions donc ici le nom du harceleur, ce qui signifie que nous spécifiions que nous voulions exécuter le conteneur Docker nommé test docker.
Très bien, voici les trois étapes de base, donc nous avons d'abord construit l'image du fichier docker, puis nous construisons ensuite la plus sombre elle-même, puis nous l'exécutons, ok maintenant, le reste sont des syntaxes pour la pièce elle-même, d'accord maintenant, dites que vous ne voulez pas ou nous Je ne sais pas comment créer un fichier Docker ou une image Docker, donc ce que vous pouvez faire, l'option suivante est de télécharger l'image en ligne, donc en gros, vous pouvez trouver les images Docker trouvées en ligne et sur GitHub ou dans la page de base ou dans la page de documentation. donc ici, si nous avons une image Docker prête, l'étape suivante consiste à la construire immédiatement pour que nous ayons l'image
il est maintenant temps de le construire, mais comment extraire l'image, comment télécharger une image plus sombre, nous devons donc utiliser la commande Docker pull ductwork pour les téléchargements et l'image Docker en ligne, donc
dr. Pol puis on précise le nom de l'image c'est le nom qu'elle porte et c'est la version de celle-ci ok donc tu veux la dernière ou on précise la version 22.0 pour toujours dire la dernière donc après tout après la colonne précise la balise du l'attaque d'image précise comme nous l'avons dit plus haut qu'il s'agit de la version de l'image.
Donc, une fois que nous avons bien extrait l'image et que nous savons où nous avons stocké l'image, nous revenons maintenant aux étapes précédentes où nous commençons à construire le bloc conteneur Docker ou à construire dashti ce harceleur et avec le chemin d'accès à l'image, donc c'est comme ça. cela fonctionne maintenant, nous allons ensuite auditer les images Docker, alors disons que nous avons construit l'image la plus sombre, nous avons construit la plus sombre elle-même et enfin nous exécutons le docker, il est maintenant temps de savoir si le docker a été construit et exécuté avec succès afin que nous puissions l'utiliser l'image Docker LS, elle listera toutes les images Docker disponibles que nous avons créées, nous pouvons supprimer une image spécifique en utilisant cette commande Docker image RM et nous spécifions l'événement lui-même et la balise, alors commençons par lister tous les Docker disponibles images Image Docker LS
comme vous pouvez le voir, nous avons ces images pour chaque image, nous avons le référentiel, la balise de l'image créée par l'ID de l'image.
Rappelez-vous ou rappelez-vous que nous pouvons effectuer toutes sortes d'opérations sur l'image de l'image Docker en utilisant son ID, donc chaque fois que je veux effectuer une opération sur l'image, nous utilisons son ID ou nous utilisons le nom et la balise est comme nous l'avons mentionné plus tôt. si nous voulons supprimer une image plus sombre, nous pouvons dire Taco image RM et dire que le serveur Web est le plus récent, cette commande supprimerait la première image Docker
Alternativement, vous pouvez spécifier l'ID de l'image lui-même afin que nous prenions ceci et passons à la ligne de commande si vous souhaitez jeter un œil à toutes les opérations que vous pouvez effectuer sur l'image, vous pouvez dire image plus sombre et vous donnerons le menu d'aide sur les types. de commandes que vous pouvez utiliser, quel type d'opérations vous pouvez effectuer sur ces images Docker, en commençant par l'écoute, en supprimant, en ajoutant ainsi de suite
comme vous pouvez le voir, la charge d'inspection de port intégrée, vous pouvez consulter le menu d'aide pour plus d'exemples, nous savons donc maintenant quelles sont nos images Docker dont nous disposons.
Vérifions maintenant le répertoire de travail actuel PWD, c'est slash home slash cinématique, listons tous les combats en cours, donc nous avons un fichier Docker ici, rappelez-vous que le fichier docker est l'élément de base d'une image Docker, donc une fois que nous avons construit un fichier Docker, d'accord nous pouvons le faire, désolé, nous pouvons utiliser le fichier docker pour créer une image Docker prête.
Jetons donc un coup d'œil au fichier docker et à son contenu, mais c'est le premier fichier que nous devons créer si nous voulons créer une image plus sombre, alors obtenons la fide locale, jetons un coup d'œil au fichier.
donc de votre propre orteil, nous spécifions ici l'exécution du système d'exploitation, nous exécutons la commande update que nous avons augmentée, nous mettons à jour le dépôt ap2, puis nous installons une batterie et ses utilitaires, donc fondamentalement, comme vous pouvez le voir ici, les commandes apt mises à jour et apt et installé le sont enchaînés avec le sens du développeur, c'est très efficace si vous souhaitez minimiser le temps de construction du docteur et le rendre rapide, puis nous exécutons Eco comme vous pouvez le voir, cela affiche une page HTML et la stocke dans index.html, puis il expose ou fait écouter le serveur web sur le port 80 puis il exécute la commande au début du conteneur.
Nous avons donc maintenant un fichier docker qui est prêt, ok, nous avons maintenant construit un fichier Docker, il est maintenant temps de convertir le fichier stalker en conteneur, donc l'étape suivante consiste à construire le conteneur, nous utilisons donc Docker construit, ok, nous spécifions un nom pour l'obscurité. Oak Returner dit que nous l'appelons le serveur Apache, d'accord, puis nous spécifions le chemin où contient le fichier docker ou endommagé, dans ce cas, c'est le répertoire de travail actuel, nous utilisons donc des points comme vous pouvez le voir maintenant, cette sortie démontre que la construction ou la construction du plus sombre le rideau a été réalisé avec succès.
D'accord, cela sera étiqueté comme un économiseur de batterie le plus récent, alors jetons maintenant un coup d'œil aux images Docker actuelles afin que l'image Docker comme vous pouvez voir maintenant le fichier Docker que nous avons créé maintenant transformé en une image du serveur Apache, c'est l'image maintenant et c'est ce Dy D et c'est l'heure de Cricket quand il y a 121 secondes et c'est la taille et l'attaque la plus récente après que nous ayons construit selon l'image construite du fichier docker, il est temps maintenant d'exécuter le conteneur docker, ok, donc Docker exécute le nom du tableau de bord mais il dit que nous le nommons serveur Web.
D'accord et puis nous spécifions le port donc si nous montons, vous n'êtes pas censé mémoriser toutes les commandes pour pouvoir revenir aux notes donc P 880 soyouz soit 880 et ensuite nous spécifions l'image donc l'image est celle-ci maintenant Iran comme vous peut voir ici, nous disons simplement que cela signifie que cela s'est produit a été construit et exécuté avec succès maintenant nous pouvons démarrer le docker mais comment savoir quel est l'ID ce que nous faisons avec qu'utilisons-nous pour commencer à exécuter le conteneur Docker donc nous peut utiliser ce oui, c'est un pour répertorier tous les conteneurs Docker en cours d'exécution ainsi que les conteneurs Docker qui ont également été arrêtés.
D'accord, comme vous pouvez le voir, nous voyons une liste de tous les conteneurs Docker en cours d'exécution, comme vous pouvez le voir, nous voyons notre serveur Apache de conteneur Docker fonctionner, d'accord, nous pouvons voir l'heure à laquelle il a été créé il y a 44 secondes, le statut est le même après 43 secondes et ce sont les ports et les autres noms utilisés, pas seulement l'ID du conteneur, donc nous pouvons le faire ici, nous pouvons dire Docker, ok, démarrez et nous pouvons utiliser son nom plus sombre, l'ID désolé, alors maintenant, cela a commencé si vous voulez arrêter les conteneurs Docker, nous peut utiliser Docker stop alors maintenant revenons en arrière comme vous pouvez le voir ici lorsque nous avons répertorié les conteneurs Docker disponibles, nous voyons notre conteneur Docker un serveur patché maintenant quitté il y a quelques secondes donc Docker PS Dash a est une commande très utile pour lister tous les conteneurs en cours d'exécution et ceux-ci se sont également arrêtés. Si vous souhaitez exécuter le sac Docker, vous pouvez simplement dire que le cours commence et il s'exécutera à nouveau, donc maintenant il ne reste plus que quelques secondes.
Ce sont des opérations de base très essentielles que vous devez connaître si vous voulez parler couramment à Phoebe lorsque vous êtes intéressant et dans un environnement qui utilise des conteneurs Docker. Ce sont donc les commandes de base des voitures qui sont très courantes si vous souhaitez gérer la création et configurer et exécuter des conteneurs Docker.
Très bien, utilisons Docker PS Dash plus de temps et voyons les conteneurs Docker disponibles. Arrêtons maintenant l'arrêt Docker du serveur Web Apache Apache. Vous avez donc vu comment nous créons les fichiers judiciaires, construisons des images Docker et exécutons des conteneurs Docker. Il est maintenant temps de trouver comment nous pouvons interagir avec les conteneurs Docker donc maintenant nous savons qu'un médecin pourrait gagner est en cours d'exécution mais il s'exécute en arrière-plan. Je veux interagir avec ce conteneur Docker, alors que dois-je faire, je peux dire que Docker exécute Dash it qui est un mode ou une option que nous pouvons utiliser pour interagir avec le conteneur, puis nous spécifions l'image afin que l'image soit le serveur Apache.
D'accord, puis nous disons que nous voulons, nous devons spécifier la commande, donc quel type de commande nous voulons exécuter avec le conteneur avec le décodeur concerné à exécuter, donc Sabian bash, nous voulons générer un tir afin que cela génère un shell lorsque vous Vous pouvez voir que c'est le nom d'hôte du conteneur maintenant, donc maintenant, vous pouvez voir l'invite ou la navette modifiée du nom d'utilisateur au nom d'hôte du conteneur, donc si vous tapez ID, comme vous pouvez le voir, c'est l'itinéraire maintenant plusieurs fois ou Souvent, nous voyons cela lorsque nous testons les conteneurs Docker, nous atterrissons sur notre serveur ou sur une machine cible et nous voyons cette invite et nous pensons que nous avons acheminé la machine, mais en fait, ce n'est pas l'utilisateur root réel, mais c'est le nom d'hôte du conteneur Docker donc c'est la racine du conteneur PWD affichera le contenu du répertoire de travail W du conteneur LS Dash LA listera tous les fichiers du conteneur donc l'existence de l'environnement plus sombre signifie que nous sommes à l'intérieur d'un conteneur Docker et maintenant il est dans pendant le test d'intrusion, lorsque nous voyons cela, d'accord, nous sommes certains qu'il s'agit d'un conteneur Docker, donc fondamentalement, si vous testez, votre objectif est d'échapper à ce shell taco celui-ci.
D'accord, si une semaine dans le fichier d'environnement le plus sombre, il n'y a rien à l'intérieur, nous allons vérifier si nous exécutons les commandes Docker PS Dash a
ainsi, comme vous pouvez le voir, la commande n'a pas été trouvée parce que nous sommes à l'intérieur du plus sombre lui-même, nous devons échapper à la coquille du médecin pour pouvoir lister toutes les informations sur l'exécution et arrêter d'esquiver les conteneurs, donc si vous faites défiler vers le bas ici dans les notes que j'ai répertoriées toutes ces indications indiquant que vous avez affaire à un conteneur Docker dans ce paragraphe le concept de test d'intrusion des conteneurs Docker comment ils sont compromis les indications d'un conteneur Docker les excès du fichier d'environnement Docker comment énumérer et les stratégies d'échappement.
Donc, du point de vue des tests, lorsque nous voyons cela, nous sommes à l'intérieur du conteneur Docker, l'objectif est d'y échapper, d'accord les gars, c'est ainsi que nous créons et exécutons des conteneurs Docker maintenant, parfois vous voulez des cas d'utilisation plus complexes de conteneurs Docker, par exemple un conteneur Docker. nous avons créé n'était qu'un simple serveur Web. Parfois, vous souhaitez exécuter une application Web complète qui nécessite non seulement un serveur Web, mais également une base de données telle que MySQL. Dans ce cas, vous devrez créer plusieurs conteneurs et cela signifie simplement que vous ne peut pas évoluer si vous souhaitez créer des applications plus complexes, alors quelle est la solution pour cette solution est que nous utilisons Docker compose donc Docker compose est une méthode pour exécuter plusieurs conteneurs une fois pour toutes et en même temps nous les connectons en utilisant un réseau afin que vous puissiez allez à la documentation et ici Docker compose donc c'est Roy Docker compose.
Vous pouvez voir les instructions sur la façon d'installer Docker Compose et comment commencer, mais simplement pour me défoncer, je peux composer et avoir installé Docker Compose, vous devez créer quelque chose appelé le fichier Docker Compose qui est écrit en langage Jama, il est extrêmement important de écrivez ce fichier avant d'exécuter Docker compose car il spécifie tous les conteneurs Docker que vous souhaitez exécuter et connecter ensemble. Un exemple est ici afin que vous puissiez voir la même chose que dr. jusqu'à présent, nous avons les instructions version Services réseaux image de l'environnement, ce sont toutes des instructions après les instructions, nous devons argumenter de la même manière que plus sombre, mais ici, dans le fichier de composition Docker, nous spécifions un conteneur Docker que nous voulons voter par exemple et ce fichier ici, c'est pourquoi la Vierge puis l'instruction de surface précisent les conteneurs que vous souhaitez connecter le premier quart est fouetté, un autre est construit en base de données.
Nous allons à la fois le conteneur Docker spécifié pour être Observer et c'est le nom de l'instruction des réseaux d'images qui devrait être le même test Commerce l'instruction personne est une instruction qui est utilisée pour connecter les deux conteneurs ensemble le Web et la base de données et en fait le il faut se connecter car l'application qui ne se connecte pas à sa base de données ne fonctionnerait pas donc il faut les connecter avec l'instruction du Réseau il supporte tout le serveur par exemple fonctionne sur le Port 80 puis on vient tester la base qui utilise l'image MySQL dernier
donc fondamentalement, la durée de mon cycle est une image qui n'est pas créée à partir de zéro, elle est en fait en ligne, donc l'image et la balise sont lorsque nous voyons l'image et le texte spécifié, cela signifie que vous souhaitez télécharger ou extraire l'image en ligne afin que les réseaux, puis le l'environnement est spécifié les variables ou les paramètres du nom de la base de données de connexion, le nom d'utilisateur et le mot de passe et enfin utiliser les réseaux d'insertion pour indiquer que nous sommes. J'ai connecté ces conteneurs ensemble. Je pense que nous avons spécifié le fichier de composition du docker.
L'étape suivante consiste à exécuter les généraux ensemble afin que nous puissions utiliser Docker compose build et démarrer correctement. Une commande sera Docker compose up, vous pouvez utiliser stop et down pour arrêter ou arrêter et supprimer le conteneur ensemble afin que vous reveniez également vers le docker compose la documentation et vérifie les détails si vous voulez plus de détails, ok les gars, alors c'était tout, j'espère que vous avez apprécié la leçon et je vous verrai certainement dans la prochaine vidéo oh, n'oubliez pas que vous me demandez peut-être comment obtenir ces notes, vous pouvez vous abonner à la chaîne et accéder au portail en ligne en plus des fichiers PDF stockés dans Google Drive, donc c'était tout, je vous verrai dans la prochaine vidéo.

Vidéo pas à pas

A propos de l'Auteur

Je crée des notes de cybersécurité, des notes de marketing numérique et des cours en ligne. Je fournis également des conseils en marketing numérique, y compris, mais sans s'y limiter, le référencement, les publicités Google et Meta et l'administration CRM.

Voir les Articles