Tengo un contenedor acoplable que está configurado para realizar algunas acciones determinadas con selenio. Mi objetivo es crear el contenedor docker cuando se recibe una solicitud para un determinado punto final creado con el matraz. La aplicación del matraz se configuró con uWSGI y Nginx utilizando este tutorial .
Cuando el punto final recibe una solicitud, se supone que debe ejecutar el script bash ./run.sh:
#!/bin/bash ID=$1 docker run --rm \ -v $(pwd)/code:/code \ -v /etc/hosts:/etc/hosts \ selenium \ python3 \ /code/main.py ${ID}Puedo realizar con éxito una llamada al punto final utilizando la IP proporcionada por Digital Ocean, pero cuando llega al punto en el que necesita ejecutar Docker, dice:
ventana acoplable: comando no encontrado
Tenga en cuenta que puedo ingresar a virtualenv manualmente, ejecutar python app.py, enviar una solicitud al punto final del matraz y se crea el contenedor docker y todo funciona muy bien.
Probablemente necesite agregar una variable PATH a su script bash que incluye la ubicación de su ejecutable docker. Es probable que el usuario que ejecuta NGINX no tenga establecida una ruta.
PATH=$PATH:/usr/local/bin:/usr/binTambién deberá asegurarse de que el usuario que ejecuta NGINX tenga permiso para usar la ventana acoplable, así que agréguelo al grupo de la ventana acoplable.
Si se trata de un servicio público, entonces pensaría detenidamente si realmente desea que los usuarios de Internet inicien contenedores en su servidor, ¿proviene $ 1 de la entrada del usuario?