Docker в Windows: не удалось собрать службу 'db': команда '/ bin / sh -c ./myscript 1' вернула ненулевой код: 127 - PullRequest
0 голосов
/ 18 января 2019

Я знаю, что вопросы с такой ошибкой уже задавались несколько раз, однако я не смог найти решение, поэтому я предполагаю, что у меня другой случай.

У меня есть такой 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).

Проблема в том, что в Windows, использующей Docker Desktop, я получаю следующую ошибку:

Не удалось собрать службу 'db': команда '/ bin / sh -c ./main/bin/my-script 1' вернула ненулевой код: 127

почему это происходит только в Windows, при этом нормально работает на других платформах?

1 Ответ

0 голосов
/ 22 января 2019

Проблема была на самом деле не строго связана с Docker, а с форматом окончания строки моих bash-скриптов, который в Windows был CRLF по умолчанию, тогда как они должны были LF.

Для решения проблемы я принудительно отформатировал LF в своих .gitattributes .

...