Windows上的Docker:服务'db'生成失败:命令'/ bin / sh -c ./myscript 1'返回了非零代码:127

时间:2019-01-17 22:03:51

标签: bash docker docker-compose dockerfile docker-image

我知道这种错误的问题已经被问过好几次了,但是我找不到解决方案,所以我假设我的情况不同。

我有一个像这样的Dockerfile:

FROM alpine:latest as builder

RUN apk add --no-cache bash

COPY bin /main/bin
COPY conf /main/conf

RUN ./main/bin/my-script 1

FROM mysql:5.7

COPY --from=builder /main/dist/sql /sql

ADD generate-databases.sh /docker-entrypoint-initdb.d

在Linux和macOS(使用Docker Desktop)上都可以正常运行

问题是在使用Docker Desktop的Windows上出现以下错误:

  

服务'db'生成失败:命令'/ bin / sh -c ./main/bin/my-script 1'返回非零代码:127

为什么仅在Windows上会发生这种情况,而在其他平台上却能正常工作?

1 个答案:

答案 0 :(得分:0)

问题实际上与Docker并不严格相关,而是与我的bash脚本的行尾格式有关,在Windows上默认为CRLF,而本应为LF

要解决此问题,我forced LF format in my .gitattributes