Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 8653|Respuesta: 6

Los registros de Docker llenan discos y la migración de datos

[Copiar enlace]
Publicado en 7/2/2022 10:21:43 | | | |
El compañero reaccionó diciendo que el sistema no podía iniciar sesión en el entorno de prueba, comprobó decisivamente la monitorización y comprobó que el puerto de servicio estaba abierto, inició sesión en el servidor para comprobar el uso del disco duro y comprobó que el directorio montado en un determinado disco estaba lleno, como se muestra en la figura siguiente:



El disco es 100% el disco utilizado por la aplicación docker, y inicialmente se sospecha que la incapacidad para escribir archivos de registro impide que el módulo preste servicios al mundo exterior.

CentOS cuenta el tamaño de cada carpeta y busca archivos grandes
https://www.itsvse.com/thread-9542-1-1.html
Busca archivos grandes y finalmente encuélralos en el subdirectorio /var/lib/docker/containers/Un archivo de json.log está ocupando 30G

Limpieza de registros de contenedores en marcha (tratamiento de síntomas)

Para permitir que el recipiente sirva normalmente inmediatamente. Solución temporal, limpiar rápidamente esos archivos, liberar espacio en el disco duro, el script es el siguiente:

Si el contenedor docker está en funcionamiento, después de eliminar los logs usando rm -rf, verás que el espacio en disco no se libera mediante df -h. La razón es que en sistemas Linux o Unix, eliminar un archivo mediante rm-rf o un gestor de archivos lo desvinculará de la estructura de directorios del sistema de archivos. Si el archivo se abre (y hay un proceso en uso), el proceso seguirá pudiendo leer el archivo y el espacio en disco estará ocupado todo el tiempo. La postura correcta es cat /dev/null > *-json.log, y por supuesto también puedes reiniciar docker después de eliminarlo mediante rm -rf.

Comentario:Crea un nuevo script en el directorio del disco libre, de lo contrario el script no puede crearse normalmente


Configuración del tamaño del registro del contenedor Docker (causa raíz)

Establezca el tamaño máximo logarítmico de un servicio de contenedor y añade un parámetro para establecer el tamaño logarítmic del contenedor al iniciar el contenedor, por ejemplo:

Tamaño máximo=500 m, lo que significa que el límite superior del tamaño de troncario de un contenedor es 500 m,
max-file=3, lo que significa que un contenedor tiene tres logs, a saber, id+.json, id+1.json y id+2.json.


Docker migró a un nuevo disco

Los datos relacionados con Docker existen en el disco del sistema, el disco del sistema solo tiene un tamaño de 50G y el disco de datos 100G, ¿cómo mover los datos existentes de Docker al disco de datos?

Para docker instalado usando el método system yum de CentOS, el directorio de instalación por defecto debería ser: /var/lib/docker

Docker versión < v17.05.0

Como dockerd puede especificar la imagen y el camino de almacenamiento del contenedor a través del grafo de parámetros, como –graph=/var/lib/docker, solo necesitamos modificar el archivo de configuración para especificar los parámetros de arranque.

El archivo de configuración de Docker puede establecer la mayoría de los parámetros de proceso en segundo plano, y la ubicación de almacenamiento en cada sistema operativo es inconsistente, en Ubuntu: /etc/default/docker, y en CentOS: /etc/sysconfig/docker.

Docker versión >= v17.05.0

Como Docker ha eliminado oficialmente la función de grafo en esta versión, si tienes la versión de Docker >= v17.05.0 instalada en tu máquina, no puedes modificar el directorio de instalación (almacenamiento) por defecto de Docker especificando el parámetro de grafo en el archivo de configuración /etc/default/docker.

Existen otras formas en que la nueva versión de Docker puede lograr nuestro objetivo de modificar el directorio de instalación (almacenamiento): modificando (nuevo) /etc/docker/daemon.json para especificar el valor del parámetro raíz de datos.

Configuración del directorio del daemon Docker:El inicio de sesión del hipervínculo es visible.

Preparación para la migración: Detener todas las aplicaciones de contenedores y detener los servicios docker (systemctl stop docker).


Docker revisa los ajustes de reinicio de contenedores y contenedores de parada masiva
https://www.itsvse.com/thread-10130-1-1.html
Crea un nuevo directorio en /home/software con el siguiente comando:

Migra el directorio /var/lib/docker al directorio /home/software/docker (se recomienda copiarlo y luego eliminar el archivo de directorio /var/lib/docker cuando esté bien), el comando es el siguiente:

Al copiarAsegúrate de añadir el parámetro -a, si no, algunos contenedores no funcionarán correctamente!!!!!

Consulta todas las conexiones blandas y puntos de archivo en el directorio actual con el siguiente comando:


Modifica el archivo /etc/docker/daemon.json con el siguiente comando:



Guarda y luego inicia el servicio docker con el siguiente comando:

Arranca el contenedor, todas las pruebas funcionan con normalidad y, finalmente,Elimina la carpeta /var/lib/docker



(Fin)




Anterior:Comprueba los tiempos de encendido y apagado del sistema Linux
Próximo:Fábricas de filtros integradas en Spring Cloud Gateway
Publicado en 13/2/2022 16:36:29 |
Aprende a aprender。。。。。
 Propietario| Publicado en 24/2/2022 9:38:26 |
Docker: cómo eliminar una imagen de no
https://www.itsvse.com/thread-10112-1-1.html
 Propietario| Publicado en 24/2/2022 13:21:48 |
Lista
descripción
ID y nombre del contenedorEl ID y el nombre del contenedor
% de CPU y % de MEMEl porcentaje de CPU y memoria del host que utiliza el contenedor
USO / LÍMITE DE MEMELa memoria total que utiliza el contenedor y la cantidad total de memoria permitida para ser utilizada
E/S de la NETLa cantidad de datos que un contenedor envía y recibe a través de su interfaz de red
E/S DE BLOQUELa cantidad de datos que un contenedor lee y escribe desde un dispositivo de bloque en el host
PIDsEl número de procesos o hilos creados por el contenedor


 Propietario| Publicado en 25/3/2022 14:45:13 |
Puedes encontrar la aplicación correspondiente en contenedor consultando el valor Name del archivo /var/lib/docker/containers/xxxx/config.v2.json.



Publicado en 7/12/2022 14:17:31 |
Los registros de Docker llenan discos y la migración de datos
 Propietario| Publicado en 17/4/2023 9:59:49 |
Docker vacía los registros de un contenedor individualmente con el siguiente comando:

Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com