Moteur Docker sur WindowsDocker Engine on Windows

Le moteur et le client Dockr ne sont pas inclus avec Windows et doivent être installés et configurés individuellement.The Docker Engine and client aren't included with Windows and need to be installed and configured individually. De plus, le moteur Docker accepte de nombreuses configurations personnalisées.Furthermore, the Docker Engine can accept many custom configurations. Certains exemples incluent la configuration de la façon dont le démon accepte les requêtes entrantes, les options de mise en réseau par défaut et les paramètres de débogage/du journal.Some examples include configuring how the daemon accepts incoming requests, default networking options, and debug/log settings. Sur Windows, ces configurations peuvent être spécifiées dans un fichier de configuration ou à l’aide du Gestionnaire de contrôle des services Windows.On Windows, these configurations can be specified in a configuration file or by using Windows Service control manager. Ce document décrit en détail comment installer et configurer le moteur de l’ancrage et fournit également quelques exemples de configurations couramment utilisées.This document details how to install and configure the Docker Engine, and also provides some examples of commonly used configurations.

Installer DockerInstall Docker

Pour utiliser des conteneurs Windows, vous devez disposer d’un ancrage.You need Docker in order to work with Windows Containers. Docker comprend le moteur Docker (dockerd.exe) et le client Docker (docker.exe).Docker consists of the Docker Engine (dockerd.exe), and the Docker client (docker.exe). Le moyen le plus simple d’obtenir tout ce qui est installé est dans le Guide de démarrage rapide, qui vous permet d’obtenir tout ce que vous allez configurer et d’exécuter votre premier conteneur.The easiest way to get everything installed is in the quickstart guide, which will help you get everything set up and run your first container.

Pour les installations à l’aide de scripts, consultez utiliser un script pour installer dockr EE.For scripted installations, see Use a script to install Docker EE.

Avant de pouvoir utiliser l’ancrage, vous devez installer les images de conteneur.Before you can use Docker, you'll need to install the container images. Pour plus d’informations, consultez docs pour les images de base de votre conteneur.For more information, see docs for our container base images.

Configurer l’arrimeur avec un fichier de configurationConfigure Docker with a configuration file

La méthode privilégiée pour configurer le moteur Docker sur Windows consiste à utiliser un fichier de configuration.The preferred method for configuring the Docker Engine on Windows is using a configuration file. Ce fichier de configuration se trouve dans C:\ProgramData\Docker\config\daemon.json.The configuration file can be found at 'C:\ProgramData\Docker\config\daemon.json'. Vous pouvez créer ce fichier s’il n’existe pas déjà.You can create this file if it doesn't already exist.

Notes

Toutes les options de configuration de l’arrimeur disponibles ne s’appliquent pas à l’ancrage sur Windows.Not every available Docker configuration option applies to Docker on Windows. L’exemple suivant montre les options de configuration qui s’appliquent.The following example shows the configuration options that do apply. Pour plus d’informations sur la configuration du moteur de l’ancrage, consultez le fichier de configuration du démonde l’ancrage.For more information about Docker Engine configuration, see Docker daemon configuration file.

{
    "authorization-plugins": [],
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "storage-driver": "",
    "storage-opts": [],
    "labels": [],
    "log-driver": "", 
    "mtu": 0,
    "pidfile": "",
    "data-root": "",
    "cluster-store": "",
    "cluster-advertise": "",
    "debug": true,
    "hosts": [],
    "log-level": "",
    "tlsverify": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "group": "",
    "default-ulimits": {},
    "bridge": "",
    "fixed-cidr": "",
    "raw-logs": false,
    "registry-mirrors": [],
    "insecure-registries": [],
    "disable-legacy-registry": false
}

Il vous suffit d’ajouter les modifications de configuration souhaitées au fichier de configuration.You only need to add the desired configuration changes to the configuration file. Par exemple, l’exemple suivant configure le moteur de l’ancrage pour qu’il accepte les connexions entrantes sur le port 2375.For example, the following sample configures the Docker Engine to accept incoming connections on port 2375. Toutes les autres options de configuration utiliseront les valeurs par défaut.All other configuration options will use default values.

{
    "hosts": ["tcp://0.0.0.0:2375"]
}

De même, l’exemple suivant configure le démon de la station d’accueil pour conserver les images et les conteneurs dans un autre chemin d’accès.Likewise, the following sample configures the Docker daemon to keep images and containers in an alternate path. S’il n’est pas spécifié, la valeur par défaut est c:\programdata\docker.If not specified, the default is c:\programdata\docker.

{    
    "data-root": "d:\\docker"
}

L’exemple suivant configure le démon de l’arrimeur pour qu’il n’accepte que les connexions sécurisées sur le port 2376.The following sample configures the Docker daemon to only accept secured connections over port 2376.

{
    "hosts": ["tcp://0.0.0.0:2376", "npipe://"],
    "tlsverify": true,
    "tlscacert": "C:\\ProgramData\\docker\\certs.d\\ca.pem",
    "tlscert": "C:\\ProgramData\\docker\\certs.d\\server-cert.pem",
    "tlskey": "C:\\ProgramData\\docker\\certs.d\\server-key.pem",
}

Configurer l’arrimeur sur le service d’ancrageConfigure Docker on the Docker service

Le moteur de l’ancrage peut également être configuré en modifiant le service d’ancrage avec sc config.The Docker Engine can also be configured by modifying the Docker service with sc config. Avec cette méthode, les indicateurs du moteur Docker sont définis directement sur le service de Docker.Using this method, Docker Engine flags are set directly on the Docker service. Exécutez la commande suivante dans une invite de commandes (cmd.exe, pas PowerShell) :Run the following command in a command prompt (cmd.exe not PowerShell):

sc config docker binpath= "\"C:\Program Files\docker\dockerd.exe\" --run-service -H tcp://0.0.0.0:2375"

Notes

Vous n’avez pas besoin d’exécuter cette commande si votre fichier daemon. JSON contient déjà l’entrée "hosts": ["tcp://0.0.0.0:2375"].You don't need to run this command if your daemon.json file already contains the "hosts": ["tcp://0.0.0.0:2375"] entry.

Configuration communeCommon configuration

Les exemples de fichiers de configuration suivants présentent des configurations courantes de Docker.The following configuration file examples show common Docker configurations. Elles peuvent être combinées en un seul fichier de configuration.These can be combined into a single configuration file.

Création de réseau par défautDefault network creation

Pour configurer le moteur de l’ancrage afin qu’il ne crée pas de réseau NAT par défaut, utilisez la configuration suivante.To configure the Docker Engine so that it doesn't create a default NAT network, use the following configuration.

{
    "bridge" : "none"
}

Pour plus d’informations, voir la rubrique indiquant comment gérer les réseaux Docker.For more information, see Manage Docker Networks.

Définir le groupe de sécurité de l’arrimeurSet Docker security group

Lorsque vous vous êtes connecté à l’hôte de l’ordinateur de la station d’accueil et que vous exécutez des commandes de l’arrimeur localement, ces commandes sont exécutées via un canal nommé.When you've signed in to the Docker host and are locally running Docker commands, these commands are run through a named pipe. Par défaut, seuls les membres du groupe Administrateurs peuvent accéder au moteur Docker via le canal nommé.By default, only members of the Administrators group can access the Docker Engine through the named pipe. Pour spécifier un groupe de sécurité bénéficiant de cet accès, utilisez l’indicateur group.To specify a security group that has this access, use the group flag.

{
    "group" : "docker"
}

Configuration du proxyProxy configuration

Pour définir des informations de proxy pour docker search et docker pull, créez une variable d’environnement Windows nommée HTTP_PROXY ou HTTPS_PROXY, et une valeur des informations de proxy.To set proxy information for docker search and docker pull, create a Windows environment variable with the name HTTP_PROXY or HTTPS_PROXY, and a value of the proxy information. Vous pouvez effectuer cette opération dans PowerShell en utilisant une commande semblable à celle-ci :This can be completed with PowerShell using a command similar to this:

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)

Une fois que la variable a été définie, redémarrez le service Docker.Once the variable has been set, restart the Docker service.

Restart-Service docker

Pour plus d’informations, consultez fichier de configuration Windows sur docker.com.For more information, see Windows Configuration File on Docker.com.

Comment désinstaller l’ancrageHow to uninstall Docker

Cette section vous indique comment désinstaller Dockr et effectuer un nettoyage complet des composants système de l’ordinateur d’amarrage à partir de votre système Windows 10 ou Windows Server 2016.This section will tell you how to uninstall Docker and perform a full cleanup of Docker system components from your Windows 10 or Windows Server 2016 system.

Notes

Vous devez exécuter toutes les commandes de ces instructions à partir d’une session PowerShell avec élévation de privilèges.You must run all commands in these instructions from an elevated PowerShell session.

Préparer votre système pour la suppression de l’ancragePrepare your system for Docker's removal

Avant de désinstaller Dockr, assurez-vous qu’aucun conteneur n’est en cours d’exécution sur votre système.Before you uninstall Docker, make sure no containers are running on your system.

Exécutez les applets de commande suivantes pour vérifier les conteneurs en cours d’exécution :Run the following cmdlets to check for running containers:

# Leave swarm mode (this will automatically stop and remove services and overlay networks)
docker swarm leave --force

# Stop all running containers
docker ps --quiet | ForEach-Object {docker stop $_}

Il est également conseillé de supprimer tous les conteneurs, les images de conteneur, les réseaux et les volumes de votre système avant de supprimer Dockr.It's also good practice to remove all containers, container images, networks, and volumes from your system before removing Docker. Pour ce faire, exécutez l’applet de commande suivante :You can do this by running the following cmdlet:

docker system prune --volumes --all

Désinstallation de DockerUninstall Docker

Ensuite, vous devez désinstaller la station d’accueil.Next, you'll need to actually uninstall Docker.

Pour désinstaller l’amarrage sur Windows 10To uninstall Docker on Windows 10

  • Accédez à paramètres > applications sur votre ordinateur Windows 10.Go to Settings > Apps on your Windows 10 machine
  • Sous applications & fonctionnalités, recherchez docker pour WindowsUnder Apps & Features, find Docker for Windows
  • Accédez à Docker pour Windows > désinstallerGo to Docker for Windows > Uninstall

Pour désinstaller l’amarrage sur Windows Server 2016 :To uninstall Docker on Windows Server 2016:

À partir d’une session PowerShell avec élévation de privilèges, utilisez les applets de commande Uninstall-package et Uninstall-Module pour supprimer le module d’ancrage et son fournisseur de Package Management correspondant de votre système, comme illustré dans l’exemple suivant :From an elevated PowerShell session, use the Uninstall-Package and Uninstall-Module cmdlets to remove the Docker module and its corresponding Package Management Provider from your system, as shown in the following example:

Uninstall-Package -Name docker -ProviderName DockerMsftProvider
Uninstall-Module -Name DockerMsftProvider

Conseil

Vous pouvez trouver le fournisseur de package que vous avez utilisé pour installer l’amarrage avec PS C:\> Get-PackageProvider -Name *Docker*You can find the Package Provider that you used to install Docker with PS C:\> Get-PackageProvider -Name *Docker*

Nettoyer les données et les composants système de l’ancrageClean up Docker data and system components

Une fois que vous avez désinstallé la station d’accueil, vous devez supprimer les réseaux par défaut de l’arrimeur afin que leur configuration ne reste pas sur votre système une fois que l’ordinateur a disparu.After you uninstall Docker, you'll need to remove Docker's default networks so their configuration won't remain on your system after Docker is gone. Pour ce faire, exécutez l’applet de commande suivante :You can do this by running the following cmdlet:

Get-HNSNetwork | Remove-HNSNetwork

Exécutez l’applet de commande suivante pour supprimer les données de programme de l’ancrage de votre système :Run the following cmdlet to remove Docker's program data from your system:

Remove-Item "C:\ProgramData\Docker" -Recurse

Vous pouvez également supprimer les fonctionnalités Windows facultatives associées à l’ancrage/aux conteneurs sur Windows.You may also want to remove the Windows optional features associated with Docker/containers on Windows.

Cela comprend la fonctionnalité « conteneurs », qui est automatiquement activée sur n’importe quel ordinateur Windows 10 ou Windows Server 2016 quand l’outil de connexion est installé.This includes the "Containers" feature, which is automatically enabled on any Windows 10 or Windows Server 2016 when Docker is installed. Cela peut également inclure la fonctionnalité « Hyper-V », qui est automatiquement activée sur Windows 10 lorsque Docker est installé, mais qui doit être activée explicitement sur Windows Server 2016.It may also include the "Hyper-V" feature, which is automatically enabled on Windows 10 when Docker is installed, but must be explicitly enabled on Windows Server 2016.

Important

La fonctionnalité Hyper-V est une fonctionnalité de virtualisation générale qui active bien plus qu’un simple conteneur.The Hyper-V feature is a general virtualization feature that enables much more than just containers. Avant de désactiver la fonctionnalité Hyper-V, assurez-vous qu’il n’y a pas d’autres composants virtualisés sur votre système qui nécessitent Hyper-V.Before disabling the Hyper-V feature, make sure there are no other virtualized components on your system that require Hyper-V.

Pour supprimer les fonctionnalités Windows sur Windows 10 :To remove Windows features on Windows 10:

  • Accédez au panneau de configuration > programmes > programmes et fonctionnalités > activer ou désactiver des fonctionnalités Windows.Go to Control Panel > Programs > Programs and Features > Turn Windows features on or off.
  • Recherchez le nom de la fonctionnalité ou des fonctionnalités que vous souhaitez désactiver, dans ce cas, les conteneurs et (éventuellement) Hyper-V.Find the name of the feature or features you want to disable—in this case, Containers and (optionally) Hyper-V.
  • Désactivez la case à cocher en regard du nom de la fonctionnalité que vous souhaitez désactiver.Uncheck the box next to the name of the feature you want to disable.
  • Sélectionnez « OK » .Select "OK"

Pour supprimer les fonctionnalités Windows sur Windows Server 2016 :To remove Windows features on Windows Server 2016:

À partir d’une session PowerShell avec élévation de privilèges, exécutez les applets de commande suivantes pour désactiver les conteneurs et (éventuellement) les fonctionnalités Hyper-V de votre système :From an elevated PowerShell session, run the following cmdlets to disable the Containers and (optionally) Hyper-V features from your system:

Remove-WindowsFeature Containers
Remove-WindowsFeature Hyper-V

Redémarrez votre systèmeReboot your system

Pour terminer la désinstallation et le nettoyage, exécutez l’applet de commande suivante à partir d’une session PowerShell avec élévation de privilèges pour redémarrer votre système :To finish uninstallation and cleanup, run the following cmdlet from an elevated PowerShell session to reboot your system:

Restart-Computer -Force