GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment utiliser la commande Docker Run avec des exemples

Présentation

L'une des premières et des plus importantes commandes que les utilisateurs de Docker apprennent est le docker run commande. Cela n'est pas surprenant puisque sa fonction principale est de créer et d'exécuter des conteneurs.

Il existe de nombreuses façons d'exécuter un conteneur. En ajoutant des attributs à la syntaxe de base, vous pouvez configurer un conteneur pour qu'il s'exécute en mode détaché, définir un nom de conteneur, monter un volume et effectuer de nombreuses autres tâches.

Dans ce didacticiel, vous apprendrez à utiliser docker run commandes avec des exemples.

Prérequis

  • Accès à une ligne de commande/fenêtre de terminal
  • Un compte utilisateur avec sudo privilèges
  • Une installation Docker existante

Comment utiliser la commande docker run

La syntaxe de base de la commande est :

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Pour exécuter un conteneur, la seule chose que vous devez inclure dans la commande est l'image sur laquelle il est basé :

docker run [docker_image]

Vous pouvez exécuter des conteneurs à partir d'images Docker stockées localement. Si vous utilisez une image qui ne se trouve pas sur votre système, le logiciel l'extrait du registre en ligne.

Par exemple, nous avons utilisé un Dockerfile pour créer un exemple d'image Docker avec la tâche de faire écho au message Hello World . Pour nous, l'image a l'ID e98b6ec72f51 . Le nom de votre image sera différent selon le conteneur que vous souhaitez exécuter.

La commande pour exécuter notre exemple de conteneur serait :

docker run e98b6ec72f51

Le conteneur exécute la tâche prescrite (fait écho au message Hello World ) puis s'arrête.

Exécuter un conteneur sous un nom spécifique

Lorsque vous utilisez l'run de base commande, Docker génère automatiquement un nom de conteneur avec une chaîne de chiffres et de lettres sélectionnés au hasard.

Puisqu'il y a peu de chances que vous puissiez vous souvenir ou reconnaître les conteneurs par ces noms génériques, envisagez de définir le nom du conteneur sur quelque chose de plus mémorable.

Utilisation du --name L'attribut vous permet d'attribuer un nom de conteneur. La commande pour exécuter un conteneur sous un nom spécifique est :

docker container run --name [container_name] [docker_image]

Par exemple, nous pouvons exécuter l'exemple de conteneur et lui donner le nom container_instance en utilisant la commande :

docker container run --name container_instance e98b6ec72f51

Vous pouvez vérifier si vous avez correctement défini un nom de conteneur en affichant une liste de tous les conteneurs (en cours d'exécution et arrêtés) avec la commande :

docker ps -a

Comme dans l'image ci-dessous, vous devriez voir votre conteneur nouvellement créé.

Exécuter un conteneur en arrière-plan (mode détaché)

Il existe deux façons d'exécuter un conteneur - en mode attaché (au premier plan) ou en mode détaché (en arrière-plan).

Par défaut, Docker exécute le conteneur en mode attaché. Cela signifie qu'il est attaché à la session du terminal, où il affiche la sortie et les messages.

Si vous souhaitez garder le conteneur et la session de terminal actuelle séparés, vous pouvez exécuter le conteneur en arrière-plan à l'aide de -d attribut. L'utilisation du mode détaché vous permet également de fermer la session de terminal ouverte sans arrêter le conteneur.

La commande pour exécuter un conteneur en arrière-plan est :

docker container run -d [docker_image]

Pour notre exemple, la commande est :

docker container run -d e98b6ec72f51

La sortie que vous recevrez sera similaire à celle que vous voyez dans l'image ci-dessus. Le conteneur exécutera le processus, puis s'arrêtera. Aucune autre sortie ne s'affichera dans la session du terminal.

Exécuter un conteneur de manière interactive

Docker vous permet d'exécuter un conteneur en mode interactif . Cela signifie que vous pouvez exécuter des commandes à l'intérieur du conteneur pendant qu'il est encore en cours d'exécution.

En utilisant le conteneur de manière interactive, vous pouvez accéder à une invite de commande dans le conteneur en cours d'exécution. Pour ce faire, exécutez la commande suivante :

docker container run -it [docker_image] /bin/bash

L'invite de commande changera, vous déplaçant vers le bash shell comme dans l'exemple ci-dessous.

Exécuter un conteneur et publier les ports de conteneur

Lorsque vous exécutez un conteneur, le seul moyen d'accéder au processus est de l'intérieur de celui-ci. Pour autoriser les connexions externes au conteneur, vous devez ouvrir (publier) des ports spécifiques.

Vous devez ajouter le -p l'option docker run commande ainsi que les informations suivantes :

-p [host_ip]:[host_port]:[container_port]

L'host_ip L'élément est facultatif et vous n'avez pas besoin de le spécifier lors de l'exécution de la commande.

Par exemple, pour mapper le port TCP 80 du conteneur sur le port 8080 de l'hôte Docker, vous exécuterez :

docker container run -p 8080:80 [docker_image]

Exécuter un conteneur et monter des volumes hôtes

Les conteneurs Docker n'enregistrent pas les données qu'ils produisent. Dès que le processus est terminé, le conteneur s'arrête et tout ce qu'il contient est supprimé.

Si vous souhaitez disposer de données persistantes qui sont stockées même après l'arrêt du conteneur, vous devez activer le partage des volumes de stockage.

Pour monter des volumes, utilisez le -v attribut avec l'emplacement spécifié du répertoire dans lequel vous souhaitez enregistrer les données, suivi de l'emplacement de ces données dans le conteneur.

-v [/host/volume/location]:[/container/storage]

L'intégralité de l'docker container run la commande est :

docker container run -v [/host/volume/location]:[/container/storage] [docker_image]

Exécutez un conteneur Docker et supprimez-le une fois le processus terminé

Une fois qu'un conteneur exécute ses tâches, il s'arrête, mais le système de fichiers qui le compose reste sur le système.

Si vous n'avez besoin d'un conteneur que pour exécuter la tâche décrite et que vous ne l'utilisez pas ni son système de fichiers par la suite, vous pouvez le configurer pour qu'il soit supprimé une fois qu'il est terminé.

Pour exécuter un conteneur qui sera automatiquement supprimé après avoir quitté, utilisez la commande :

docker container run --rm [docker_image]

Cent OS
  1. Comment utiliser la commande wget avec des exemples

  2. Comment utiliser la commande ethtool avec des exemples

  3. Comment utiliser la commande Linux Hexdump avec des exemples pratiques

  4. Commande SCP sous Linux :comment l'utiliser, avec des exemples

  5. Comment exécuter une commande sur un conteneur Docker en cours d'exécution

Commande d'alias Linux :comment l'utiliser avec des exemples

Comment exécuter Jenkins Container en tant que service Systemd avec Docker

Comment utiliser la commande RPM (avec exemples)

Comment utiliser la commande Linux gunzip avec des exemples

Comment utiliser la commande Linux rm avec des exemples

Comment utiliser la commande shutdown avec des exemples