User Tools

Site Tools


informatica:linux:docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:docker [2019/10/11 08:33] javiinformatica:linux:docker [2023/03/16 10:18] (current) jose
Line 35: Line 35:
  
   sudo service docker restart   sudo service docker restart
 +
 +===== Habilitar debug =====
 +
 +https://success.docker.com/article/how-do-i-enable-debug-logging-of-the-docker-daemon
 +
 +1. Editar:
 +
 +  sudo vim /etc/docker/daemon.json
 +
 +Y añadir:
 +
 +<code>
 +{
 +    "debug": true
 +}
 +</code>
 +
 +2. Recargar el servicio:
 +
 +  sudo kill -SIGHUP $(pidof dockerd)
 +  
 +3. Ver logs
 +
 +  sudo tail -F /var/log/daemon.log
 +  
 +
 +
  
 ====== Ejecutar como no root ====== ====== Ejecutar como no root ======
Line 121: Line 148:
  
 ====== Cambiar politica de reinicio de contenedor ====== ====== Cambiar politica de reinicio de contenedor ======
 +https://docs.docker.com/config/containers/start-containers-automatically/
 +
 +Miramos que política tiene:
 +  docker inspect container_name| jq -r '.[0].HostConfig.RestartPolicy'
 +<code>
 +{
 +  "Name": "always",
 +  "MaximumRetryCount": 0
 +}
 +</code>
 +
 +^Flag^Description^
 +|no|Do not automatically restart the container. (the default)|
 +|on-failure|Restart the container if it exits due to an error, which manifests as a non-zero exit code.|
 +|always|Always restart the container if it stops. If it is manually stopped, it is restarted only when Docker daemon restarts or the container itself is manually restarted. (See the second bullet listed in restart policy details)|
 +|unless-stopped|Similar to always, except that when the container is stopped (manually or otherwise), it is not restarted even after Docker daemon restarts.|
 +
  
-Con el contenedor corriendo:+Para cambiarlo
  
   docker update --restart unless-stopped container_name   docker update --restart unless-stopped container_name
Line 382: Line 426:
  
   docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_id   docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_id
 +
 +  * Obtener puertos que tiene abiertos internamente (con jq):
 +
 +  docker inspect container_id |jq .[].NetworkSettings.Ports
  
   * Renombrar container:   * Renombrar container:
Line 1040: Line 1088:
 Para mostrar estadísticas de consumo de recursos por contenedor: Para mostrar estadísticas de consumo de recursos por contenedor:
  
-  docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemPerc}}\t{{.MemUsage}}"+  watch -n 5 'docker stats --no-stream --format "table {{.Name}}\t{{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" | sort -r -k 3 -h'
  
 ====== Usar variables de entorno en tiempo de arranque ====== ====== Usar variables de entorno en tiempo de arranque ======
Line 1352: Line 1400:
 2. Revisar las entradas. Una de ellas tiene un espacio de más o de menos 2. Revisar las entradas. Una de ellas tiene un espacio de más o de menos
  
 +===== Servidor tarda en apagarse esperando por contenedores docker =====
 +
 +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989490#14
 +
 +===== Docker build con variables =====
 +Si queremos tener versionado un docker, por ejemplo con versiones diferentes de node.js desde el build.\\
 +Instala por defecto la version 16.13.0
 +
 +<code>
 +FROM debian
 +
 +ARG NODE_VERSION=16.13.0
 +
 +RUN wget https://nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz
 +RUN mkdir -p /usr/local/lib/nodejs
 +
 +RUN tar -xJvf node-v$NODE_VERSION-linux-x64.tar.xz -C /usr/local/lib/nodejs 
 +
 +CMD ["bash", "-l"]
 +</code>
 +
 +
 +Si quisiera crear una imagen con otra versión:
 +  docker build --build-arg NODE_VERSION=18.15.0 -f Dockerfile -t node:18.15 .
informatica/linux/docker.1570782798.txt.gz · Last modified: 2019/10/11 08:33 by javi