GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo configurar Btrfs como motor de almacenamiento en Docker

Docker es una herramienta de gestión de plataforma abierta para contenedores de Linux. Proporciona un medio para que los desarrolladores y administradores de sistemas creen y empaqueten aplicaciones en contenedores ligeros.

Docker utiliza dispositivos mapeadores de dispositivos como motor de almacenamiento predeterminado. Para usar Btrfs como motor de almacenamiento, realice los siguientes pasos. Tenga en cuenta que Red Hat Enterprise Linux (RHEL) elimina el controlador de almacenamiento Btrfs de su compilación de Docker, tanto en el repositorio de paquetes adicionales para Enterprise Linux (EPEL) como en la versión lanzada para RHEL7.

Utilice el comando systemctl para detener el servicio docker. Utilice el comando mkfs.btrfs para crear un sistema de archivos Btrfs en un dispositivo de bloques. Utilice el comando blkid para determinar el UUID del sistema de archivos Btrfs. Para el ejemplo utilizado en esta publicación, asumo que ya configuró el sistema de archivos btrfs y se centrará solo en la configuración de la ventana acoplable para usar el sistema de archivos btrfs como motor de almacenamiento.

1. Cree el /etc/systemd/system/var-lib-docker.mount archivo de la siguiente manera:

[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. Use el comando systemctl para habilitar e iniciar el destino var-lib-docker.mount.

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

3. Establezca el modo SELinux en “Permisivo “. SELinux actualmente no es compatible con el controlador de almacenamiento Btrfs.

Cómo deshabilitar o establecer SELinux en modo permisivo

4. Edite el /etc/sysconfig/docker archivo y configure las OPCIONES variable de la siguiente manera:

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

5. Copie el /usr/lib/systemd/system/docker.service archivo a /etc/systemd/system/docker.service .

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

6. Edite /etc/systemd/system/docker.service y agregue las entradas Requires y After para el destino var-lib-docker.mount de la siguiente manera:

# 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 su sistema necesita usar un proxy web para acceder al Registro de Docker Hub, edite el archivo /etc/sysconfig/docker y agregue las siguientes líneas. Reemplace [proxy_URL:port] con la URL y el número de puerto adecuados para su proxy web.

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

8. Use el comando systemctl para habilitar e iniciar el servicio docker.

# systemctl enable docker
# systemctl start docker

9. El comando docker info ahora muestra Btrfs como el controlador de almacenamiento:

# docker info
Storage Driver: btrfs


Docker
  1. Cómo instalar Docker Engine en Debian 11

  2. Cómo instalar y configurar docker en Debian 11

  3. Cómo mantener los contenedores Docker funcionando cuando el daemon se detiene

  4. Cómo evaluar la seguridad del motor Docker

  5. Cómo configurar docker para usar proxy

Cómo administrar los complementos del motor Docker

Cómo actualizar las imágenes de Docker a la última versión

Cómo crear volúmenes Docker en Windows de forma fácil

Cómo instalar y usar Docker en Ubuntu (en el mundo real)

Cómo configurar espacios de nombres de red en contenedores Docker

¿Cómo borro las credenciales en AWS Configure?