GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So konfigurieren Sie Btrfs als Speicher-Engine in Docker

Docker ist ein offenes Plattformverwaltungstool für Linux-Container. Es bietet Entwicklern und Systemadministratoren die Möglichkeit, Anwendungen zu erstellen und in leichtgewichtigen Containern zu verpacken.

Docker verwendet Devicemapper-Geräte als Standardspeicher-Engine. Führen Sie die folgenden Schritte aus, um Btrfs als Speicher-Engine zu verwenden. Beachten Sie, dass Red Hat Enterprise Linux (RHEL) den Btrfs-Speichertreiber aus seinem Build von Docker entfernt, sowohl aus dem EPEL-Repository (Extra Packages for Enterprise Linux) als auch aus der für RHEL7 veröffentlichten Version.

Verwenden Sie den Befehl systemctl, um den Docker-Dienst zu stoppen. Verwenden Sie den Befehl mkfs.btrfs, um ein Btrfs-Dateisystem auf einem Blockgerät zu erstellen. Verwenden Sie den Befehl blkid, um die UUID des Btrfs-Dateisystems zu ermitteln. Für das in diesem Beitrag verwendete Beispiel gehe ich davon aus, dass Sie das btrfs-Dateisystem bereits konfiguriert haben und sich nur auf die Docker-Konfiguration konzentrieren werden, um das btrfs-Dateisystem als Speicher-Engine zu verwenden.

1. Erstellen Sie /etc/systemd/system/var-lib-docker.mount Datei wie folgt:

[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. Verwenden Sie den Befehl systemctl, um das Ziel var-lib-docker.mount zu aktivieren und zu starten.

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

3. Stellen Sie den SELinux-Modus auf „Zulässig ein “. SELinux unterstützt derzeit den Btrfs-Speichertreiber nicht.

So deaktivieren oder setzen Sie SELinux in den Permissive-Modus

4. Bearbeiten Sie /etc/sysconfig/docker Datei und stellen Sie die OPTIONEN ein Variable wie folgt:

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

5. Kopieren Sie /usr/lib/systemd/system/docker.service Datei nach /etc/systemd/system/docker.service .

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

6. Bearbeiten Sie /etc/systemd/system/docker.service und fügen Sie Requires- und After-Einträge für das Ziel var-lib-docker.mount wie folgt hinzu:

# 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. Wenn Ihr System einen Web-Proxy verwenden muss, um auf die Docker-Hub-Registrierung zuzugreifen, bearbeiten Sie die Datei /etc/sysconfig/docker und fügen Sie die folgenden Zeilen hinzu. Ersetzen Sie [proxy_URL:port] durch die entsprechende URL und Portnummer für Ihren Web-Proxy.

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

8. Verwenden Sie den Befehl systemctl, um den Docker-Dienst zu aktivieren und zu starten.

# systemctl enable docker
# systemctl start docker

9. Der Befehl docker info zeigt jetzt Btrfs als Speichertreiber an:

# docker info
Storage Driver: btrfs


Docker
  1. So installieren Sie die Docker-Engine unter Debian 11

  2. So bewerten Sie die Sicherheit der Docker-Engine

  3. So aktualisieren/fügen Sie eine Datei im Docker-Image hinzu

  4. So ändern Sie die Zeitzone für einen Docker-Container

  5. So ändern Sie den Audit-Log-Pfad im MySQL Docker

So verwalten Sie Docker-Engine-Plugins

So aktualisieren Sie Docker-Images auf die neueste Version

So erstellen Sie Docker-Volumes unter Windows auf einfache Weise

So installieren und verwenden Sie Docker unter Ubuntu (in der realen Welt)

So konfigurieren Sie Netzwerk-Namespaces in Docker-Containern

Wie lösche ich die Anmeldeinformationen in AWS Configure?