GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak nakonfigurovat Btrfs jako Storage Engine v Dockeru

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žimu

4. 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


Docker
  1. Jak nainstalovat Docker Engine na Debian 11

  2. Jak nainstalovat a nakonfigurovat docker na Debian 11

  3. Jak udržet kontejnery Docker v chodu, když se démon zastaví

  1. Jak nakonfigurovat docker pro použití proxy

  2. Jak aktualizovat/přidat soubor v Docker Image

  3. Jak změnit časové pásmo pro kontejner Docker

  1. Jak aktualizovat obrázek a kontejner Dockeru na nejnovější verzi

  2. Jak hodnotit zabezpečení Docker Engine

  3. Jak změnit cestu protokolu auditu v MySQL Docker