Docker部署LWN-Simulator报错:无法找到entrypoint.sh
问题:Docker启动LWN-Simulator容器时提示entrypoint.sh不存在
问题详情
执行docker-compose up启动容器时出现如下错误:
[+] Running 2/2 Network lwn-simulator_default Created Container lorawan-simulator Created Attaching to lorawan-simulator lorawan-simulator | exec ./entrypoint.sh: no such file or directory lorawan-simulator exited with code 1
已确认entrypoint.sh存在于D:\LWN-Simulator\LWN-Simulator\docker目录,添加该路径到系统环境变量后问题仍未解决。
可能的解决办法
检查Dockerfile中entrypoint的路径配置
打开docker目录下的Dockerfile,确认ENTRYPOINT指令的路径是否与容器内文件位置匹配。若Dockerfile未设置WORKDIR,默认工作目录是根目录,若entrypoint.sh实际在容器内的/docker目录,需将指令改为/docker/entrypoint.sh而非相对路径。修正文件换行符格式
Windows系统生成的文件默认是CRLF换行,Linux容器要求LF格式。用文本编辑器(如VS Code)打开entrypoint.sh,将右下角换行符切换为LF后保存,再重新构建镜像:docker-compose build --no-cache docker-compose up确认docker-compose.yml的挂载目录配置
查看docker-compose.yml中的volumes项,确保本地docker目录正确挂载到容器内对应路径。例如配置为:volumes: - ./docker:/docker需保证执行
docker-compose up的目录是项目根目录(docker目录的父目录),否则挂载路径错误会导致容器内找不到文件。添加文件可执行权限
给entrypoint.sh添加可执行权限:chmod +x D:\LWN-Simulator\LWN-Simulator\docker\entrypoint.sh完成后重新构建并启动容器。
内容的提问来源于stack exchange,提问作者Lithia
相关产品推荐
相关产品推荐

