Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[BUG] When the Docker Compose File gets into a bad state

Abierto
#601 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
docker-compose, python

Línea de trabajo

Empieza reproduciendo el fallo con una ruta de bind en el manifiesto de despliegue, como ./; después inspecciona /root/.iotedgehubdev/data/data/docker-compose.yml y el flujo de sudo iotedgedev simulator start. El trabajo estará terminado cuando cambiar el manifiesto ya no deje un archivo de Compose no válido que bloquee el inicio del simulador y la recuperación no requiera eliminar manualmente el archivo generado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug InBacklog
Description

Have found a bug where its possible to get the docker compose file (/root/.iotedgehubdev/data/data/docker-compose.yml) into a bad state that you can't easily recover from with out taking the action of deleting the docker compose file

"createOptions": {
  "HostConfig": {
    "Binds": [
      "./certs:/https:ro"
    ],
    "PortBindings": {
      "443/tcp": [
        {
          "HostPort": "5001"
        }
      ]
    }
  }
}

sudo iotedgedev simulator start

ERROR: The Compose file '/root/.iotedgehubdev/data/data/docker-compose.yml' is invalid because:
volumes value './certs' does not match any of the regexes: '^[a-zA-Z0-9._-]+$'
ERROR: Error while executing command: docker-compose -f /root/.iotedgehubdev/data/data/docker-compose.yml down. Command '['docker-compose', '-f', '/root/.iotedgehubdev/data/data/docker-compose.yml', 'down']' returned non-zero exit status 1.
ERROR: Error while executing command: iotedgehubdev stop. Command '['iotedgehubdev', 'stop']' returned non-zero exit status 1.

cat /root/.iotedgehubdev/data/data/docker-compose.yml

volumes:
  ./certs:
    name: ./certs
  edgehubdev:
    name: edgehubdev
  edgemoduledev:
    name: edgemoduledev

Possible fixes might be just need to add some more validation to the manifest to protect docker compose file
or maybe just delete the docker compose file (/root/.iotedgehubdev/data/data/docker-compose.yml) if it becomes invalid

Expected behavior

Changes to the deployment manifest should mean the down stream docker compose file is regenerated
Other possible fixes might be just need to add some more validation to the manifest to protect docker compose file
Or even just delete the docker compose file (/root/.iotedgehubdev/data/data/docker-compose.yml) if it becomes invalid

Actual behavior

Changing the deployment manifest after the docker compose file has got into a bad state has no effect and you are stuck, unless you force delete the docker compose file in /root/.iotedgehubdev/data/data/docker-compose.yml

Steps to Reproduce

Change your deployment manifest into something thats going to mean an invalid docker compose file
such as a bind path of ./
run commands such as
sudo iotedgedev simulator start
get ERROR: Error while executing command: docker-compose

Environment

iotedgedev, version 3.3.7
Python 3.7.15
pip 22.3.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
WSL2 Ubuntu 22.04

Lenguaje dominante
Python
Estrellas
166
Forks
76
Merge medio
2 h 35 min
PR fusionados (30 d)
1

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Azure/iotedgedev

Todos los issues de Azure/iotedgedev

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.