Edge-home-orchestration-go: Respuesta de error del demonio: no se pueden obtener registros del contenedor que está muerto o marcado para su eliminación

Creado en 13 jun. 2020  ·  13Comentarios  ·  Fuente: lf-edge/edge-home-orchestration-go

La imagen de Docker funciona bien en mi sistema, pero cuando la ejecuto en la orquestación de borde, me muestra los errores:
Screenshot from 2020-06-13 10-40-25
Funcionando perfecto en mi sistema:
Screenshot from 2020-06-13 10-42-01

Aquí está el comando que estoy ejecutando:
curl -X POST "192.168.43.11:56001/api/v1/orchestration/services" -H "accept: application / json" -H "Content-Type: application / json" -d "{\" ServiceName \ ": \ "age_detection \", \ "ServiceInfo \": [{\ "ExecutionType \": \ "contenedor \", \ "ExecCmd \": [\ "docker \", \ "ejecutar \", \ "- it \" , \ "- rm \", \ "- dispositivo = / dev / video0 \", \ "- e \", \ "PANTALLA = $ PANTALLA \", \ "- v \", \ "$ XSOCK: $ XSOCK \ ", \" - v \ ", \" $ XAUTH: $ XAUTH \ ", \" - e \ ", \" XAUTHORITY = $ XAUTH \ ", \" - e \ ", \" QT_X11_NO_MITSHM = 1 \ ", \" animeshj123 / age_det_ image: 02 \ "]}], \" StatusCallbackURI \ ": \" http://192.168.43.11 : 8888 / api / v1 / services / notification \ "}"

bug question

Comentario más útil

Está trabajando en baobab. Gracias.

Todos 13 comentarios

@ Deepak-Enc Reproduje con éxito su caso con un error y también lancé con éxito el contenedor usando edge-orchestration.
A continuación se muestra el comando que hice para iniciar con éxito

virtual-pc@virtualpc-VirtualBox:~$ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"ServiceName\": \"age_detection\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-it\",\"--rm\",\"--device=/dev/video0\", \"--net=host\",\"--ipc=host\", \"-e\",\"DISPLAY=$DISPLAY\",\"-v\",\"/tmp/.X11-unix:/tmp/.X11-unix\",\"-e\",\"QT_X11_NO_MITSHM=1\",\"animeshj123/age_det_image:02\"]}], \"StatusCallbackURI\": \"http://127.0.0.1:8888/api/v1/services/notification\"}"
{"Message":"ERROR_NONE","RemoteTargetInfo":{"ExecutionType":"container","Target":"10.0.2.15"},"ServiceName":"age_detection"}
  1. La configuración de mi servidor X es ligeramente diferente, pero puede usar la suya propia si le funciona. Lo principal para prestar atención a las comillas. En su ejemplo, no son correctos (creo que esto es un error tipográfico).
  2. El error que encontró fue una consecuencia de ejecutar el contenedor dos veces. El programa que funciona en el interior da un error, porque no puede acceder a la cámara web.

    Antes de comenzar, asegúrese de que dicho contenedor no se inicie antes de usar el comando
virtual-pc@virtualpc-VirtualBox:~$ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS               NAMES
0d73793665d9        animeshj123/age_det_image:02   "python detect_age_c…"   16 minutes ago      Up 16 minutes                           crazy_visvesvaraya
f1a1dacb70fd        edge-orchestration:baobab      "sh run.sh"              16 minutes ago      Up 16 minutes                           edge-orchestration
virtual-pc@virtualpc-VirtualBox:~$ 

Detenga el contenedor en ejecución y, después de eso, puede comenzar a usar la orquestación perimetral

Por favor, envíenos sus comentarios. ¿Cuál es su resultado? Espero que todo te haya salido bien. Si tiene alguna pregunta, estaremos encantados de responderle.

Recibiendo el mismo error.
Screenshot from 2020-06-15 15-09-29

Screenshot from 2020-06-15 15-10-09

Screenshot from 2020-06-15 15-10-37

Debe asegurarse de que el programa en el contenedor animeshj123/age_det_image:02 inicie correctamente, ya que la línea container execution status : 1 muestra que se ha producido un error en el programa.
изображение

Sugiero hacerlo. Después de eso, veo que todo funciona correctamente:

virtual-pc@virtualpc-VirtualBox:~$ sudo docker run --rm -ti --device=/dev/video0 --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env="QT_X11_NO_MITSHM=1" animeshj123/age_det_image:02
[sudo] password for virtual-pc: 
[INFO] loading face detector model...
[INFO] loading age detector model...
[INFO] starting video stream...
^CTraceback (most recent call last):
  File "detect_age_cam.py", line 121, in <module>
    results = detect_and_predict_age(frame, faceNet, ageNet,
  File "detect_age_cam.py", line 29, in detect_and_predict_age
    detections = faceNet.forward()
KeyboardInterrupt
virtual-pc@virtualpc-VirtualBox:~$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
f1a1dacb70fd        edge-orchestration:baobab   "sh run.sh"         17 hours ago        Up 17 hours                             edge-orchestration
virtual-pc@virtualpc-VirtualBox:~$ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"ServiceName\": \"age_detection\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-it\",\"--rm\",\"--device=/dev/video0\", \"--net=host\",\"--ipc=host\", \"-e\",\"DISPLAY=$DISPLAY\",\"-v\",\"/tmp/.X11-unix:/tmp/.X11-unix\",\"-e\",\"QT_X11_NO_MITSHM=1\",\"animeshj123/age_det_image:02\"]}], \"StatusCallbackURI\": \"http://127.0.0.1:8888/api/v1/services/notification\"}"
{"Message":"ERROR_NONE","RemoteTargetInfo":{"ExecutionType":"container","Target":"10.0.2.15"},"ServiceName":"age_detection"}virtual-pc@virtualpc-VirtualBox:~$ 
virtual-pc@virtualpc-VirtualBox:~$ 

También veo ese error.
изображение
se puede solucionar si se reinicia la ventana acoplable (reinicio de la ventana acoplable del servicio)

El mismo contenedor funciona bien en su borde y también en mi localhost que
significa que el programa no tiene ningún problema. puede haber un problema en mi
Edge-Orchestration cómo resolver este problema.

El lunes 15 de junio de 2020 a las 16:25 tdrozdovsky, [email protected] escribió:

Debe asegurarse de que el programa en la imagen animeshj123 / age_det_ : 02
contenedor se inicia correctamente, ya que el estado de ejecución del contenedor: 1 línea
muestra que se ha producido un error en el propio programa.
[imagen: изображение]
https://user-images.githubusercontent.com/45031429/84649763-bd171c00-af0f-11ea-9ff6-7ba80aea6662.png

Sugiero hacerlo. Después de eso, veo que todo funciona correctamente:

virtual-pc @ virtualpc-VirtualBox : ~ $ sudo docker run --rm -ti --device = / dev / video0 --net = host --ipc = host -e DISPLAY = $ DISPLAY -v /tmp/.X11- unix: /tmp/.X11-unix --env = "QT_X11_NO_MITSHM = 1" animeshj123 / age_det_ image: 02

[sudo] contraseña para virtual-pc:

[INFO] cargando modelo de detector facial ...

[INFO] cargando modelo de detector de edad ...

[INFO] iniciando transmisión de video ...

^ CTraceback (última llamada más reciente):

Archivo "detect_age_cam.py", línea 121, en

results = detect_and_predict_age(frame, faceNet, ageNet,

Archivo "detect_age_cam.py", línea 29, en detect_and_predict_age

detections = faceNet.forward()

Teclado Interrumpido

virtual-pc @ virtualpc-VirtualBox : ~ $ docker ps -a

ID DE CONTENEDOR COMANDO DE IMAGEN ESTADO CREADO NOMBRES DE PUERTOS

f1a1dacb70fd edge- orch estration: baobab "sh run.sh" hace 17 horas Hasta 17 horas edge-orchestration

virtual-pc @ virtualpc-VirtualBox : ~ $ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "accept: application / json" -H "Content-Type: application / json" - d "{\" ServiceName \ ": \" age_detection \ ", \" ServiceInfo \ ": [{\" ExecutionType \ ": \" contenedor \ ", \" ExecCmd \ ": [\" docker \ ", \" ejecutar \ ", \" - it \ ", \" - rm \ ", \" - dispositivo = / dev / video0 \ ", \" - net = host \ ", \" - ipc = host \ ", \" - e \ ", \" PANTALLA = $ PANTALLA \ ", \" - v \ ", \" / tmp / .X11-unix: /tmp/.X11-unix \ ", \" - e \ ", \" QT_X11_NO_MITSHM = 1 \ ", \" animeshj123 / age_det_ image: 02 \ "]}], \" StatusCallbackURI \ ": \" http://127.0.0.1 : 8888 / api / v1 / services / notification \ "}"

{"Message": "ERROR_NONE", "RemoteTargetInfo": {"ExecutionType": "contenedor", "Target": "10.0.2.15"}, "ServiceName": "age_detection"} virtual-pc @ virtualpc-VirtualBox : ~ PS

virtual-pc @ virtualpc-VirtualBox : ~ $

También veo ese error.
[imagen: изображение]
https://user-images.githubusercontent.com/45031429/84649385-1d598e00-af0f-11ea-9b6a-43a7780c7cf5.png
se puede solucionar si se reinicia la ventana acoplable (reinicio de la ventana acoplable del servicio)

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/lf-edge/edge-home-orchestration-go/issues/91#issuecomment-644056795 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/ANR2JO4EKLU3UYAYP4OSZB3RWX4ZPANCNFSM4N42UCTA
.

A continuación se muestra un ejemplo de cómo puede no funcionar correctamente

virtual-pc@virtualpc-VirtualBox:~$ docker run --rm -ti --device=/dev/video0 --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env="QT_X11_NO_MITSHM=1" animeshj123/age_det_image:02
[sudo] password for virtual-pc: 
[INFO] loading face detector model...
[INFO] loading age detector model...
[INFO] starting video stream...
[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (887) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Traceback (most recent call last):
  File "detect_age_cam.py", line 117, in <module>
    frame = imutils.resize(frame, width=400)
  File "/usr/local/lib/python3.8/site-packages/imutils/convenience.py", line 69, in resize
    (h, w) = image.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'

ahora mira el código de error

virtual-pc@virtualpc-VirtualBox:~$ echo $?
1

el error es el mismo que el orquestador de bordes devuelve

Creo que es necesario buscar razones por las que el programa no funciona correctamente (por ejemplo, no hay acceso a /dev/video0 u otros)

Amablemente aclare mi duda. Está funcionando bien en mi máquina host, lo que significa que no hay ningún problema en el contenedor de la ventana acoplable o en el archivo de la ventana acoplable. Puede haber un problema con la orquestación de bordes porque no puedo detectar en el contenedor o en el archivo de la ventana acoplable.

@ Deepak-Enc Por favor, describa mucho más en detalle sobre lo que es "un problema con la orquestación de bordes". Según tengo entendido, su contenedor de orientación se ejecuta con éxito en su host local a través de un contenedor de ventana acoplable / archivo de ventana acoplable, pero falla cuando intenta ejecutarlo en la orquestación de borde. Le hemos guiado varias recomendaciones, pero aún no está claro resolver este problema. ¿Estamos en lo correcto?
@ suresh-lc ¿Cuál es tu opinión? No parece ser solo un problema de configuración.

2020/06/16 04:27:56 containerexecutor.go: 84: [containerexecutor] crear contenedor: c22c72a303
2020/06/16 04:28:01 containerexecutor.go: 102: [containerexecutor] estado de ejecución del contenedor: 1
2020/06/16 04:28:01 containerexecutor.go: 111: [containerexecutor] Respuesta de error del demonio: no se pueden obtener registros del contenedor que está muerto o marcado para su eliminación
2020/06/16 04:28:01 orchestration_api.go: 340: el estado del servicio [orchestrationapi] cambió [appNames: age_detection] [status:]
2020/06/16 04:28:01 containerexecutor.go: 122: [containerexecutor] Respuesta de error del demonio: la eliminación del contenedor c22c72a303bff50d18b4af5d5b7d644256cdd8fb2c7d2b08ccfa2ea225b3aa7f ya está en curso

Recibo estos errores al ejecutar contenedores de detección de edad (en tiempo real y video) en la orquestación de bordes. Captura el primer fotograma de la aplicación, pero luego el contenedor se marca automáticamente como contenedor muerto.

@ Deepak-Enc: pudimos ver en los registros que el contenedor se está marcando para su eliminación después de leer el primer cuadro debido a algún error. Pero exactamente por qué también estamos tratando de encontrar. ¿Puede compartir el archivo de registro de errores completo? Y además, si pudieras compartir el video de los pasos que hiciste, sería de gran ayuda.

A continuación se muestra un video de cómo funciona un contenedor bajo orquestación de borde

Ubuntu_v16_04 [En ejecución] - Oracle VM VirtualBox 6_16_2020 9_30_15 AM.zip

El registro que envió muestra que la aplicación en el contenedor no finalizó correctamente. Se necesitan más datos

@ Deepak-Enc: ¿Puedes tomar la rama Baobab y probar el escenario?
Parece que la lista blanca de contenedores no se está realizando para el servicio iniciado desde la orquestación perimetral.
err: = verificador.GetInstance (). ContainerIsInWhiteList (s.ParamStr [paramLen-1]).

Por lo tanto, puede probar una vez con la rama Baobab y hacernos saber el resultado.

Está trabajando en baobab. Gracias.

Problema resuelto. @ suresh-lc @tdrozdovsky @ Deepak-Enc ¡Gracias por todos sus intereses y pasión!

¿Fue útil esta página
0 / 5 - 0 calificaciones