Estoy usando Windows 10 con la instalación nativa de Docker.
Estoy buscando la ubicación donde la ventana acoplable guarda los registros de los contenedores.
En Linux, los archivos de registro de los contenedores de Docker están en esta ubicación:
/var/lib/docker/containers/container-id/container-id-json.logPero, ¿dónde puedo encontrarlo en Windows 10?
Para Windows 10 + WSL 2 (Ubuntu 20.04), Docker version 20.10.2, build 2291f61
Vamos DOCKER_ARTIFACTS == \\wsl$\docker-desktop-data\version-pack-data\community\docker
Los registros de contenedores se pueden encontrar en la siguiente ubicación
DOCKER_ARTIFACTS\containers\[Your_container_ID]\[Your_container_ID]-json.log
Aquí hay un ejemplo :
Verifique primero si esos registros están (como se sugiere aquí ):
C:\ProgramData\docker\containers\[container_ID]\[container_ID]-json.log Docker C:\ProgramData\docker es el directorio Root Dir informado por docker info .
Con respecto a Docker Linux a través de Hyper-v, verifique si " Cómo eliminar los archivos de registro del contenedor Docker (Windows o Linux) " puede ayudar (de Jon Gallant ):
- Ejecute docker inspect para encontrar la ubicación del archivo de registro de Docker
- Encuentre el valor "Docker Root Dir", el mío es /var/lib/docker
La ruta del archivo de registro de la ventana acoplable debe ser
/var/lib/docker, pero si no lo es, cámbiela en el siguiente comando.
find /var/lib/docker/containers/ -type f -name "*.log"El comando que ve en esta imagen se basa en " Cómo usar SSH en Docker VM (MobyLinuxVM) en Windows "
Técnicamente, no vamos a usar SSH en la máquina virtual, crearemos un contenedor que tenga acceso raíz completo y luego accederemos al sistema de archivos desde allí.
- Obtener contenedor con acceso a Docker Daemon
- Ejecutar contenedor con acceso completo a la raíz
- Cambiar al sistema de archivos host
Abra un símbolo del sistema y ejecute lo siguiente:
docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh chroot /hostEjecute el comando de búsqueda allí y debería encontrar los registros.
Para Windows 10 + Docker Desktop version 3.6.0 , la ruta virtual para registros y datos (artefactos) es \\wsl$\docker-desktop-data\version-pack-data\community\docker (puede copiarlo/pegarlo en barra de navegación del Explorador).
Los registros están en \\wsl$\docker-desktop-data\version-pack-data\community\docker\containers\[containerID]\[containerID]-json.logs
y los datos están en \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\[volumeID]\_data
Cómo obtener ID de contenedor:
Puede encontrar container ID (truncado) ejecutando docker ps en un símbolo del sistema. También puede encontrarlo haciendo clic en el botón CLI en DockerDesktop junto al nombre del contenedor, la identificación estará en el título de la ventana cmd que aparecerá. Una vez que tenga la identificación, puede navegar a containers\[containerID] en el directorio de artefactos ( \\wsl$\docker-... arriba). El archivo de registro tendrá la extensión .log y su nombre tendrá el containerID . Sin embargo, tenga en cuenta que será un formato json enriquecido, por lo que no será fácil de leer.
Cómo obtener ID de volumen:
Para encontrar los datos de un contenedor (por ejemplo, los temas de Kafka Broker), debe encontrar la identificación de los volúmenes donde se almacenan los datos. Para eso, deberá hacer clic en el contenedor en DockerDesktop, luego hacer clic en INSPECT (arriba a la derecha). Luego puede desplazarse hacia abajo para encontrar las entradas de configuración de Mounts . Cada montaje tendrá un ID de volumen (diferente del ID de contenedor), y ese ID de volumen será parte de una ruta similar a esta /var/lib/docker/volumes/71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110/_data . volumeID aquí siendo 71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110 . A continuación, puede tomar volumeID de volumen y navegar a volumes\[volumeID] en el directorio de artefactos ( \\wsl$\docker-... arriba) donde se ubicarán los datos.