Punto de entrada de Docker MinIO
Tengo este proyecto que inicialmente se configuró en Mac, estoy en Windows, es un proyecto de Docker que ejecuta Node, Kafka y algunos otros contenedores, uno de ellos es MinIO. Todo funciona según lo previsto, excepto MinIO, obtengo el siguiente error:
createbuckets_1 | /bin/sh: nc: command not found
Código de Docker-compose:
createbuckets:
image: minio/mc
networks:
- localnet
depends_on:
- minio
entrypoint: >
/bin/sh -c "
while ! nc -zv minio 9000; do echo 'Esperando a que minio se inicie...' && sleep 0.1; done; sleep 5;
/usr/bin/mc config host add myminio http://minio:9000 X X;
/usr/bin/mc rm -r --force myminio/cronify/details;
/usr/bin/mc mb myminio/cronify/details;
/usr/bin/mc policy set download myminio/cronify/details;
exit 0;"
Donde X debe ser reemplazado por las credenciales.
He estado tratando de encontrar una solución durante semanas.
También he intentado cambiar el entrypoint de /bin/sh -c
a /bin/bash -c
o #!/bin/bash -c
o #!/bin/sh -c
, obtengo el mismo error excepto "/.../bin/bash: nc: command not found"
.
El Dockerfile contiene:
FROM confluentinc/cp-kafka-connect
davy.ai
Solución para el Error de MinIO en un Proyecto Docker
Problema
El usuario está enfrentando un problema con el contenedor de MinIO en un proyecto Docker que se ejecuta en Node, Kafka y otros contenedores. El proyecto inicialmente se configuró en un Mac y ahora el usuario lo está ejecutando en Windows. Todo funciona correctamente, excepto el contenedor de MinIO, que genera un error indicando que el comando ‘nc’ no se encuentra.
Causa
El error se produce debido a la falta del comando ‘nc’ en el contenedor de MinIO.
Solución
Para solucionar este problema, el usuario debe modificar el archivo Dockerfile para instalar el paquete ‘netcat’ o ‘nc’ en el contenedor de MinIO. Esto se puede lograr siguiendo los siguientes pasos:
El contenedor de MinIO ahora debería funcionar sin problemas. El archivo docker-compose debería ser capaz de crear los buckets necesarios en él.
Siguiendo estos pasos, el usuario debería poder solucionar el problema del comando ‘nc’ no encontrado en el contenedor de MinIO.