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
Next revisionBoth sides next revision
informatica:linux:docker [2019/05/15 11:15] – [Con docker compose] javiinformatica:linux:docker [2019/09/05 10:16] javi
Line 1175: Line 1175:
   docker ps | grep dns   docker ps | grep dns
  
 +===== ERROR: Service 'logrotate' failed to build: invalid reference format =====
  
 +Escenario:
  
 +* Uso docker compose
 +* Uso build dentro del docker compose
 +* La imagen y la versión se pasan por parámetro
 +
 +**docker-compose.yml**
 +
 +<code>
 +version: '3.7'
 +services:
 +
 + logrotate:
 +  build:
 +   context: ./path/to/dir
 +   args:
 +    - IMAGE=${IMAGE}
 +    - VERSION=${VERSION}
 +...
 +</code>
 +
 +**Dockerfile** (dentro de './path/to/dir')
 +
 +<code>
 +ARG IMAGE
 +
 +ARG VERSION
 +
 +FROM $IMAGE:$VERSION
 +...
 +</code>
 + 
 +**.env**
 +
 +<code>
 +IMAGE=
 +VERSION=latest
 +</code>
 +
 +Solución:
 +
 +Revisar que las variables "IMAGE" y "VERSION" sean coherentes. En este caso por error IMAGE estaba vacía
 +
 +===== ERROR: yaml.parser.ParserError: while parsing a block mapping =====
 +
 +Error completo:
 +
 +<code>
 +ERROR: yaml.parser.ParserError: while parsing a block mapping
 +  in "./docker-compose.analytics-celery-v3.yml", line 1, column 1
 +expected <block end>, but found '<block mapping start>'
 +  in "./docker-compose.analytics-celery-v3.yml", line 14, column 2
 +</code>
 +
 +Asegurarse que todos los servicios están alineados a la misma altura.
 +
 +**KO**
 +
 +<code>
 +version: '3.7'
 +services:
 +
 +  logrotate-legacy:
 +    build:
 +      context: ./services/logrotate/
 +      dockerfile: Dockerfile
 +    container_name: logrotate-legacy
 +    environment:
 +      - LOGROTATE_LOGFILES=/var/log/plc/*.log
 +    volumes:
 +      - /var/log/plc/:/var/log/plc/:rw
 +
 + logrotate:
 +  container_name: ${LOGROTATE_NAME}
 +  image: ${LOGROTATE_IMAGE_LOCAL}/${LOGROTATE_NAME}:${LOGROTATE_VERSION}
 +  restart: ${LOGROTATE_RESTART}
 +  volumes:
 +   - ${LOGROTATE_VOLUME_PLC_HOST}:${LOGROTATE_VOLUME_PLC_CONTAINER}
 +  build:
 +   #context: ./services/logrotate
 +   context: ./services/logrotate-v2/
 +   args:
 +    - IMAGE=${LOGROTATE_IMAGE}
 +    - VERSION=${LOGROTATE_VERSION}
 +    - LOGROTATE_LOGFILES=${LOGROTATE_LOGROTATE_LOGFILES}
 +
 +networks:
 + network-logrotate:
 +  name: ${NETWORK_LOGROTATE}
 +
 +</code>
 +
 +**OK**
 +
 +<code>
 +version: '3.7'
 +services:
 +
 + logrotate-legacy:
 +    build:
 +      context: ./services/logrotate/
 +      dockerfile: Dockerfile
 +    container_name: logrotate-legacy
 +    environment:
 +      - LOGROTATE_LOGFILES=/var/log/plc/*.log
 +    volumes:
 +      - /var/log/plc/:/var/log/plc/:rw
 +
 + logrotate:
 +  container_name: ${LOGROTATE_NAME}
 +  image: ${LOGROTATE_IMAGE_LOCAL}/${LOGROTATE_NAME}:${LOGROTATE_VERSION}
 +  restart: ${LOGROTATE_RESTART}
 +  volumes:
 +   - ${LOGROTATE_VOLUME_PLC_HOST}:${LOGROTATE_VOLUME_PLC_CONTAINER}
 +  build:
 +   #context: ./services/logrotate
 +   context: ./services/logrotate-v2/
 +   args:
 +    - IMAGE=${LOGROTATE_IMAGE}
 +    - VERSION=${LOGROTATE_VERSION}
 +    - LOGROTATE_LOGFILES=${LOGROTATE_LOGROTATE_LOGFILES}
 +
 +networks:
 + network-logrotate:
 +  name: ${NETWORK_LOGROTATE}
 +
 +</code>
informatica/linux/docker.txt · Last modified: 2023/03/16 10:18 by jose