Docker je otevřený nástroj pro správu platforem pro Linux Containers. Poskytuje vývojářům a systémovým administrátorům prostředek k sestavování a balení aplikací do lehkých kontejnerů.
Docker používá zařízení mapující zařízení jako výchozí modul úložiště. Chcete-li použít Btrfs jako modul úložiště, proveďte následující kroky. Upozorňujeme, že Red Hat Enterprise Linux (RHEL) odstraňuje ovladač úložiště Btrfs z jejich sestavení Dockeru, a to jak z úložiště Extra Packages for Enterprise Linux (EPEL), tak z verze vydané pro RHEL7.
Pomocí příkazu systemctl zastavte službu docker. Pomocí příkazu mkfs.btrfs vytvořte systém souborů Btrfs na blokovém zařízení. Pomocí příkazu blkid určete UUID systému souborů Btrfs. Pro příklad použitý v tomto příspěvku předpokládám, že jste již nakonfigurovali souborový systém btrfs a zaměříte se pouze na konfiguraci dockeru pro použití souborového systému btrfs jako úložiště.
1. Vytvořte /etc/systemd/system/var-lib-docker.mount soubor takto:
[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. Pomocí příkazu systemctl povolte a spusťte cíl var-lib-docker.mount.
# systemctl enable var-lib-docker.mount # systemctl start var-lib-docker.mount
3. Nastavte režim SELinux na „Permisivní “. SELinux aktuálně nepodporuje ovladač úložiště Btrfs.
Jak zakázat nebo nastavit SELinux do Permisivního režimu4. Upravte /etc/sysconfig/docker a nastavte MOŽNOSTI proměnná takto:
# vi /etc/sysconfig/docker OPTIONS=-s btrfs
5. Zkopírujte soubor /usr/lib/systemd/system/docker.service soubor do /etc/systemd/system/docker.service .
# cp -p /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
6. Upravte /etc/systemd/system/docker.service a přidejte položky Requires a After pro cíl var-lib-docker.mount následovně:
# 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. Pokud váš systém potřebuje pro přístup k registru Docker Hub použít webový proxy, upravte soubor /etc/sysconfig/docker a přidejte následující řádky. Nahraďte [proxy_URL:port] příslušnou adresou URL a číslem portu vašeho webového serveru proxy.
# vi /etc/sysconfig/docker HTTP_PROXY="[proxy_URL:port]" HTTPS_PROXY="[proxy_URL:port]"
8. Pomocí příkazu systemctl povolte a spusťte službu docker.
# systemctl enable docker # systemctl start docker
9. Příkaz docker info nyní zobrazuje Btrfs jako ovladač úložiště:
# docker info Storage Driver: btrfs