Didacticiel : prise en main de l’arrimeurTutorial: Get started with Docker

Dans ce didacticiel, vous apprendrez à créer et à déployer des applications Dockr, y compris l’utilisation de plusieurs conteneurs avec une base de données, et l’utilisation de Docker Compose.In this tutorial, you'll learn about creating and deploying Docker apps, including using multiple containers with a database, and using Docker Compose. Vous allez également déployer votre application en conteneur dans Azure.You'll also deploy your containerized app to Azure.

Commencer le tutorielStart the tutorial

Si vous avez déjà exécuté la commande pour commencer à utiliser le didacticiel, félicitations !If you've already run the command to get started with the tutorial, congratulations! Si ce n’est pas le cas, ouvrez une invite de commandes ou une fenêtre bash, puis exécutez la commande suivante :If not, open a command prompt or bash window, and run the command:

docker run -d -p 80:80 docker/getting-started

Vous remarquerez que quelques indicateurs sont utilisés.You'll notice a few flags being used. Voici quelques informations supplémentaires :Here's some more info on them:

  • -d -exécuter le conteneur en mode détaché (en arrière-plan)-d - run the container in detached mode (in the background)
  • -p 80:80 -mapper le port 80 de l’ordinateur hôte au port 80 dans le conteneur-p 80:80 - map port 80 of the host to port 80 in the container
  • docker/getting-started -l’image à utiliserdocker/getting-started - the image to use

Conseil

Vous pouvez combiner des indicateurs à un seul caractère pour raccourcir la commande complète.You can combine single character flags to shorten the full command. Par exemple, la commande ci-dessus peut être écrite comme suit :As an example, the command above could be written as:

docker run -dp 80:80 docker/getting-started

Extension VS CodeThe VS Code Extension

Avant d’aller plus loin, nous voulons mettre en surbrillance l’extension de VS Code d’ancrage, qui vous donne un aperçu rapide des conteneurs en cours d’exécution sur votre machine.Before going too far, we want to highlight the Docker VS Code Extension, which gives you a quick view of the containers running on your machine. Il vous offre un accès rapide aux journaux de conteneur, vous permet d’obtenir un shell à l’intérieur du conteneur et vous permet de gérer facilement le cycle de vie des conteneurs (arrêter, supprimer, etc.).It gives you quick access to container logs, lets you get a shell inside the container, and lets you easily manage container lifecycle (stop, remove, and so on).

Pour accéder à l’extension, suivez les instructions ici.To access the extension, follow the instructions here. Utilisez l’icône d’ancrage à gauche pour ouvrir la vue de l’ancrage.Use the Docker icon on the left to open the Docker view. Si vous ouvrez l’extension maintenant, vous verrez ce didacticiel s’exécuter !If you open the extension now, you will see this tutorial running! Le nom du conteneur ( angry_taussig ci-dessous) est un nom créé de manière aléatoire.The container name (angry_taussig below) is a randomly created name. Par conséquent, vous aurez probablement un nom différent.So, you'll most likely have a different name.

Conteneur du didacticiel s’exécutant dans l’extension de l’arrimeur

Qu’est-ce qu’un conteneur ?What is a container

Maintenant que vous avez exécuté un conteneur, qu' est -ce qu’un conteneur ?Now that you've run a container, what is a container? En d’autres termes, un conteneur est simplement un autre processus sur votre ordinateur qui a été isolé de tous les autres processus sur l’ordinateur hôte.Simply put, a container is simply another process on your machine that has been isolated from all other processes on the host machine. Cette isolation s’appuie sur les espaces de noms de noyau et les groupes, fonctionnalités qui ont été dans Linux depuis longtemps.That isolation leverages kernel namespaces and cgroups, features that have been in Linux for a long time. La station d’accueil a travaillé pour rendre ces fonctionnalités plus faciles à utiliser.Docker has worked to make these capabilities approachable and easy to use.

Notes

Création de conteneurs à partir de zéro Si vous souhaitez voir comment les conteneurs sont créés à partir de zéro, le riz Liz de la sécurité Aqua a une vidéo dans laquelle il crée un conteneur à partir de zéro dans Go :Creating Containers from Scratch If you'd like to see how containers are built from scratch, Liz Rice from Aqua Security has a video in which she creates a container from scratch in Go:

Qu’est-ce qu’une image conteneurWhat is a container image

Lors de l’exécution d’un conteneur, il utilise un système de fichiers isolé.When running a container, it uses an isolated filesystem. Ce système de fichiers personnalisé est fourni par une image de conteneur.This custom filesystem is provided by a container image. Dans la mesure où l’image contient le système de fichiers du conteneur, elle doit contenir tout ce qui est nécessaire pour exécuter une application (toutes les dépendances, configuration, scripts, binaires, etc.).Since the image contains the container's filesystem, it must contain everything needed to run an application - all dependencies, configuration, scripts, binaries, and so on. L’image contient également d’autres configurations pour le conteneur, telles que des variables d’environnement, une commande par défaut à exécuter et d’autres métadonnées.The image also contains other configuration for the container, such as environment variables, a default command to run, and other metadata.

Nous étudierons plus en détail les images plus tard, en couvrant des sujets tels que la superposition, les meilleures pratiques et bien plus encore.We'll dive deeper into images later on, covering topics such as layering, best practices, and more.

Notes

Si vous êtes familiarisé avec chroot , imaginez un conteneur comme une version étendue de chroot .If you're familiar with chroot, think of a container as an extended version of chroot. Le système de fichiers provient simplement de l’image.The filesystem is simply coming from the image. Toutefois, un conteneur ajoute un isolement supplémentaire non disponible lorsque vous utilisez simplement mécanisme chroot.But, a container adds additional isolation not available when simply using chroot.

Étapes suivantesNext steps

Poursuivez avec le didacticiel.Continue with the tutorial!