Es imprescindible comprender el código correctamente previamente a aplicarlo a tu proyecto si ttienes algo que aportar puedes compartirlo con nosotros.
Solución:
Alpine viene con ash como shell predeterminado en lugar de bash
.
Así que puedes
-
Tenga un shebang que defina /bin/bash como la primera línea de su sayhello.sh, por lo que su archivo sayhello.sh comenzará con bin/sh
#!/bin/sh
-
Instale Bash en su imagen de Alpine, como parece esperar que Bash esté presente, con una línea de este tipo en su Dockerfile:
RUN apk add --no-cache --upgrade bash
Esta respuesta es completamente correcta y funciona bien.
Hay otra manera. Puede ejecutar un script Bash en un contenedor Docker basado en Alpine.
Necesita cambiar CMD como se muestra a continuación:
CMD ["sh", "sayhello.sh"]
Y esto también funciona.
Recuerde otorgar permiso de ejecución para todos los scripts.
FROM alpine
COPY sayhello.sh /sayhello.sh
RUN chmod +x /sayhello.sh
CMD ["/sayhello.sh"]
Reseñas y puntuaciones de la guía
Recuerda que tienes la capacidad de valorar esta división .