Docker è uno strumento di gestione della piattaforma aperta per i container Linux. Fornisce agli sviluppatori e agli amministratori di sistema un mezzo per creare e creare pacchetti di applicazioni in contenitori leggeri.
Docker utilizza i dispositivi devicemapper come motore di archiviazione predefinito. Per utilizzare Btrfs come motore di archiviazione, attenersi alla seguente procedura. Nota che Red Hat Enterprise Linux (RHEL) rimuove il driver di archiviazione Btrfs dalla loro build di Docker, sia nel repository Extra Packages for Enterprise Linux (EPEL) che nella versione rilasciata per RHEL7.
Utilizzare il comando systemctl per interrompere il servizio Docker. Utilizzare il comando mkfs.btrfs per creare un file system Btrfs su un dispositivo a blocchi. Utilizzare il comando blkid per determinare l'UUID del file system Btrfs. Per l'esempio utilizzato in questo post, presumo che tu abbia già configurato il filesystem btrfs e ti concentrerai solo sulla configurazione della finestra mobile per utilizzare il filesystem btrfs come motore di archiviazione.
1. Crea il /etc/systemd/system/var-lib-docker.mount file come segue:
[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. Utilizzare il comando systemctl per abilitare e avviare la destinazione var-lib-docker.mount.
# systemctl enable var-lib-docker.mount # systemctl start var-lib-docker.mount
3. Impostare la modalità SELinux su “Permissiva “. SELinux attualmente non supporta il driver di archiviazione Btrfs.
Come disabilitare o impostare SELinux in modalità permissiva4. Modifica il /etc/sysconfig/docker file e imposta le OPZIONI variabile come segue:
# vi /etc/sysconfig/docker OPTIONS=-s btrfs
5. Copia il /usr/lib/systemd/system/docker.service file in /etc/systemd/system/docker.service .
# cp -p /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
6. Modifica /etc/systemd/system/docker.service e aggiungi le voci Requires e After per la destinazione var-lib-docker.mount come segue:
# 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. Se il sistema in uso deve utilizzare un proxy Web per accedere al registro Docker Hub, modificare il file /etc/sysconfig/docker e aggiungere le seguenti righe. Sostituisci [proxy_URL:porta] con l'URL e il numero di porta appropriati per il tuo proxy web.
# vi /etc/sysconfig/docker HTTP_PROXY="[proxy_URL:port]" HTTPS_PROXY="[proxy_URL:port]"
8. Utilizzare il comando systemctl per abilitare e avviare il servizio Docker.
# systemctl enable docker # systemctl start docker
9. Il comando info docker ora mostra Btrfs come driver di archiviazione:
# docker info Storage Driver: btrfs