代码之家  ›  专栏  ›  技术社区  ›  Francesco Borzi

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

  •  0
  • Francesco Borzi  · 技术社区  · 7 年前

    我知道这样一个错误的问题已经被问了好几次,但是我找不到解决办法,所以我假设我的情况是不同的。

    我有这样一个文件:

    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桌面)。

    问题是,在使用Docker Desktop的Windows上,我遇到以下错误:

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

    为什么这种情况只发生在Windows上,而在其他平台上运行良好?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Francesco Borzi    7 年前

    这个问题实际上并不是严格意义上的Docker问题,而是我的bash脚本的行尾格式问题,在Windows上是 CRLF 默认情况下,他们应该 LF .

    为了解决这个问题我 forced LF format in my .gitattributes .