standard_init_linux.go:219: exec 用户进程导致:没有这样的文件或目录 - docker 问题
Posted
技术标签:
【中文标题】standard_init_linux.go:219: exec 用户进程导致:没有这样的文件或目录 - docker 问题【英文标题】:standard_init_linux.go:219: exec user process caused: no such file or directory - docker problem 【发布时间】:2021-05-16 07:18:28 【问题描述】:我的 docker 有问题,在运行命令时,docker-compose up -d --build
3 容器 app, database, api
是在应用程序innovation
中创建的,但是当访问 api 容器中的 docker 终端时,我得到这个错误``这是我的 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:
来自 api 的我的 entrypoint.sh:
#!/bin/bash
yarn
yarn develop
【问题讨论】:
请分享您的entrypoint.sh
#!/bin/bash 纱线纱线开发
【参考方案1】:
就我而言,我通过将 entrypoint.sh
文件的行尾从 CRLF
更改为 LF
来解决此问题
编辑
在右侧底部面板上的 Notepad++ 中,右键单击区域 Windows (CR LF)
并选择 UNIX (LF)
这应该将所有 CRLFs
替换为 LFs
。
【讨论】:
我该怎么做? 在 Notepad++ 的右侧底部面板中,右键单击区域 Windows (CR LF) 并选择 UNIX (LF) 这应该将所有 CRLF 替换为 LF,谢谢【参考方案2】:启动基于64-bit x86
代理但运行在64-bit Arm
容器主机上的映像时,也可能出现此错误。
【讨论】:
【参考方案3】:对我来说,行尾已经是 LF,我删除了所有图像并重建了它们,但在构建之前,我发现我错过了 shebang -
#!/bin/bash
我刚刚添加并重建了容器并发现它可以正常工作。
【讨论】:
【参考方案4】:同样的问题,通过改变行尾解决了它。还必须在更改生效之前重建映像。
【讨论】:
以上是关于standard_init_linux.go:219: exec 用户进程导致:没有这样的文件或目录 - docker 问题的主要内容,如果未能解决你的问题,请参考以下文章