GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment configurer Btrfs comme moteur de stockage dans Docker

Docker est un outil de gestion de plate-forme ouverte pour les conteneurs Linux. Il permet aux développeurs et aux administrateurs système de créer et de conditionner des applications dans des conteneurs légers.

Docker utilise des appareils devicemapper comme moteur de stockage par défaut. Pour utiliser Btrfs comme moteur de stockage, procédez comme suit. Notez que Red Hat Enterprise Linux (RHEL) supprime le pilote de stockage Btrfs de leur version de Docker, à la fois sur le référentiel Extra Packages for Enterprise Linux (EPEL) et sur la version publiée pour RHEL7.

Utilisez la commande systemctl pour arrêter le service docker. Utilisez la commande mkfs.btrfs pour créer un système de fichiers Btrfs sur un périphérique bloc. Utilisez la commande blkid pour déterminer l'UUID du système de fichiers Btrfs. Pour l'exemple utilisé dans cet article, je suppose que vous avez déjà configuré le système de fichiers btrfs et que vous vous concentrerez uniquement sur la configuration de docker pour utiliser le système de fichiers btrfs comme moteur de stockage.

1. Créez le fichier /etc/systemd/system/var-lib-docker.mount fichier comme suit :

[Unit]
Description = Docker Image Store
[Mount]
What = UUID=[UUID for the Btrfs file system] 
Where = /var/lib/docker
Type = btrfs
[Install]
WantedBy = multi-user.target

2. Utilisez la commande systemctl pour activer et démarrer la cible var-lib-docker.mount.

# systemctl enable var-lib-docker.mount
# systemctl start var-lib-docker.mount

3. Réglez le mode SELinux sur "Permissif “. SELinux ne prend actuellement pas en charge le pilote de stockage Btrfs.

Comment désactiver ou définir SELinux en mode permissif

4. Modifiez le fichier /etc/sysconfig/docker fichier et définissez les OPTIONS variable comme suit :

# vi /etc/sysconfig/docker
OPTIONS=-s btrfs

5. Copiez le fichier /usr/lib/systemd/system/docker.service fichier dans /etc/systemd/system/docker.service .

# cp -p /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service

6. Modifiez /etc/systemd/system/docker.service et ajoutez les entrées Requires et After pour la cible var-lib-docker.mount comme suit :

# vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine 
Documentation=http://docs.docker.com 
Requires=var-lib-docker.mount 
After=network.target docker.socket 
Requires=docker.socket 
After=var-lib-docker.mount
[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS
$DOCKER_STORAGE_OPTIONS
LimitNOFILE=1048576
LimitNPROC=1048576
[Install]
WantedBy=multi-user.target

7. Si votre système doit utiliser un proxy Web pour accéder au registre Docker Hub, modifiez le fichier /etc/sysconfig/docker et ajoutez les lignes suivantes. Remplacez [proxy_URL:port] par l'URL et le numéro de port appropriés pour votre proxy Web.

# vi /etc/sysconfig/docker
HTTP_PROXY="[proxy_URL:port]"
HTTPS_PROXY="[proxy_URL:port]"

8. Utilisez la commande systemctl pour activer et démarrer le service docker.

# systemctl enable docker
# systemctl start docker

9. La commande docker info affiche maintenant Btrfs comme pilote de stockage :

# docker info
Storage Driver: btrfs


Docker
  1. Comment installer Docker Engine sur Debian 11

  2. Comment installer et configurer docker sur Debian 11

  3. Comment faire fonctionner les conteneurs Docker lorsque le démon s'arrête

  4. Comment évaluer la sécurité du moteur Docker

  5. Comment configurer docker pour utiliser le proxy

Comment gérer les plugins du moteur Docker

Comment mettre à jour les images Docker vers la dernière version

Comment créer des volumes Docker sous Windows en toute simplicité

Comment installer et utiliser Docker sur Ubuntu (dans le monde réel)

Comment configurer les espaces de noms réseau dans les conteneurs Docker

Comment effacer les informations d'identification dans AWS Configure ?