Tengo un problema con la ventana acoplable, cuando ejecuto el comando docker-compose up -d --build 3 contenedores app, database, api se crean dentro de la innovation de la aplicación, sin embargo, cuando accedo a la terminal de la ventana acoplable en el contenedor de la API, aparece este error. ` este es mi docker-compose.yaml:
version: "3" services: api: build: ./api entrypoint: ./.docker/entrypoint.sh container_name: quimiweb-innovation-api env_file: .env environment: DATABASE_CLIENT: ${DATABASE_CLIENT} DATABASE_NAME: ${DATABASE_NAME} DATABASE_HOST: ${DATABASE_HOST} DATABASE_PORT: ${DATABASE_PORT} DATABASE_USERNAME: ${DATABASE_USERNAME} DATABASE_PASSWORD: ${DATABASE_PASSWORD} FRONTEND_URL: ${FRONTEND_URL} ports: - "1337:1337" volumes: - ./api/:/home/node/api networks: - app-network database: image: mongo container_name: quimiweb-innovation-database env_file: .env environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} networks: - app-network volumes: - .database/:/data/db ports: - "27017:27017" app: build: ./app/ entrypoint: ./.docker/entrypoint.sh container_name: quimiweb-innovation-app env_file: .env environment: SKIP_PREFLIGHT_CHECK: ${SKIP_PREFLIGHT_CHECK} ports: - 3001:3001 volumes: - ./app/:/home/node/app networks: app-network: driver: bridge volumes: app-volume:Mi entrypoint.sh de api:
#!/bin/bash yarn yarn developEn mi caso, lo resolví cambiando los finales de línea de CRLF a LF para el archivo entrypoint.sh
Editar
En Notepad ++ en el panel inferior a la derecha, haga clic con el botón derecho en el área Windows (CR LF) y seleccione UNIX (LF) , esto debería reemplazar todos los CRLFs con LFs .
Este error también puede ocurrir al iniciar una imagen creada en un agente 64-bit x86 pero que se ejecuta en un host de contenedor 64-bit Arm .
Para mí, los finales de línea ya eran LF, eliminé todas las imágenes y las reconstruí, pero antes de construir, descubrí que me faltaba el shebang:
#!/bin/bash
Acabo de agregar eso y reconstruí el contenedor y lo encontré funcionando.