# Qu'est-ce que Docker

Chez Edgegap, nous travaillons avec des conteneurs pour répartir la charge uniformément à travers le monde. Nous devons faire en sorte que votre jeu démarre en quelques millisecondes, donc les conteneurs doivent être conçus en pensant à la vitesse et construits en conséquence. Nous allons vous guider dans la création d'une image Docker, également appelée conteneur.

{% hint style="info" %}
Si vous souhaitez vous familiariser rapidement avec les conteneurs, nous vous recommandons vivement [cette courte vidéo](https://www.youtube.com/watch?v=J0NuOlA2xDc\&ab_channel=Coderized).
{% endhint %}

<figure><img src="/files/94732cb746d3e82a8b9c4009b84aa7089dc20798" alt=""><figcaption></figcaption></figure>

### **Qu'est-ce que Docker ?**

* Docker est un PaaS (Platform as a Service) qui permet la virtualisation au niveau du système d'exploitation.

### **Qu'est-ce que la commande Docker Run ?**

* La commande docker run permet de créer un conteneur à partir d'une image afin que le moteur Docker Desktop puisse exécuter le conteneur.

### **Essayez-le**

Commençons par ajouter les outils dont vous aurez besoin sur votre ordinateur pour créer votre premier conteneur.

Vous pouvez suivre la procédure d'installation telle qu'indiquée sur Docker Desktop.

si vous utilisez [Windows 10 Pro](https://docs.docker.com/docker-for-windows/install/) Si vous utilisez [Windows 10 Édition Familiale](https://docs.docker.com/docker-for-windows/install-windows-home/) Si vous utilisez [macOS](https://docs.docker.com/docker-for-mac/install/)

Maintenant que Docker est en cours d'exécution sur votre machine locale, nous pouvons commencer par un simple hello world.

```sh
docker run -d -p 80:80 --name speedtest edgegap/speedtest-edge
```

Vous pouvez aller dans votre invite de commande et saisir la commande ci-dessus.

Les étapes se dérouleront automatiquement.

1. Télécharger le conteneur depuis le dépôt Edgegap (uniquement la première fois)
2. Démarrer le conteneur
3. Le nom sera speedtest (--name)
4. Pour exposer votre conteneur, vous devez le faire dans la commande docker run. Dans cet exemple, nous exposerons le port 80 à l'extérieur, en le dirigeant vers le port 80 exposé dans le conteneur (-p)
5. Vous pouvez l'essayer en allant dans votre navigateur Web et en accédant à [http://localhost](http://localhost/)
6. Voilà, vous avez exécuté votre premier conteneur.

Maintenant que votre conteneur est en cours d'exécution, vous pouvez interagir avec lui. Nous redémarrerons le conteneur, l'arrêterons et verrons son réseau dans la prochaine section. Tout d'abord, vous devrez voir localement ce qui s'exécute sur votre moteur Docker ; à la ligne de commande, tapez.

```sh
docker ps
```

Vous devriez voir quelque chose de similaire également.

```
ID DU CONTENEUR        IMAGE                    COMMANDE                  CRÉÉ             ÉTAT               PORTS                NOMS
dbf4d3734111        edgegap/speedtest-edge   "docker-php-entrypoi…"   il y a 29 minutes   En cours depuis 29 minutes   0.0.0.0:80->80/tcp   speedtest
```

Vous voyez visuellement les informations du conteneur exécuté sur votre ordinateur ; vous pouvez en avoir plus d'un dans cette liste.

`docker ps` est une commande simple ; vous apprendrez à l'utiliser très souvent.

Supposons que vous ayez besoin de plus d'informations sur votre conteneur en cours d'exécution. Vous pouvez demander au moteur Docker de vous donner tous les détails sur votre conteneur en exécutant la commande suivante :

```sh
docker container inspect speedtest
```

Si vous souhaitez voir le réseau interne créé par le moteur Docker, vous pouvez le faire en exécutant la commande suivante.

```sh
docker network ls
```

Vous obtiendrez quelque chose de similaire à ceci :

```
ID DU RÉSEAU          NOM                PILOTE              PORTÉE
67b24038b9ca        bridge              bridge              local
6f7fe43a489d        host                host                local
3d80cdb86a7e        none                null                local
```

Si vous souhaitez approfondir la configuration réseau, vous pouvez exécuter la commande suivante :

```sh
docker network inspect 67b24038b9ca
# où 678b24038b9ca est votre réseau connecté à votre conteneur
```

Arrêter Docker

Maintenant que vous avez démarré votre conteneur, vous pouvez l'arrêter en utilisant :

```sh
docker container stop speedtest
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.edgegap.com/docs.edgegap.com-fr/docs/tools-and-integrations/container/docker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
