standard_init_linux.go:219:exec用户进程导致:没有这样的文件或目录-docker问题
我的 docker 有问题,当运行命令时,在应用程序中创建了docker-compose up -d --build 3 个容器,但是在 api 容器中访问 docker 终端时出现此错误``这是我的 docker-compose.yaml: app, database, apiinnovation
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:
我来自 api 的 entrypoint.sh:
#!/bin/bash
yarn
yarn develop
回答
启动在64-bit x86代理上构建但在64-bit Arm容器主机上运行的映像时,也可能发生此错误。
回答
就我而言,我通过改变行结尾解决它CRLF来LF为entrypoint.sh文件
编辑
在右侧底部面板上的 Notepad++ 中,右键单击该区域Windows (CR LF)并选择UNIX (LF)这应全部替换CRLFs为LFs.
THE END
二维码