Я обнаружил действительно странное поведение моего Dockerfile. Он отлично работает на моей машине с Linux, но под Windows у меня получился странный вывод с моим контейнером. Может ли кто-нибудь проверить мои команды и сказать, что с ними не так? Почему он работает под Ubuntu без проблем? Я думал, что Docker гарантирует, что он может быть запущен одинаково в разных операционных системах ...
Команды Windows:
git clone https://github.com/falent/googleHomeAssistantExpressNodeJS.git C:\Users\%username%\Documents\googleHomeAssistantExpressNodeJS
$ cd C:\Users\%username%\Documents\googleHomeAssistantExpressNodeJS
$ sudo build -t assistant .
$ docker run -v /C/Users/%username%/Documents/googleHomeAssistantExpressNodeJS:/skill -it --name myAssistant assistant
Я получил этот вывод под Windows:
: not foundypoint.sh: 2: /skill/entrypoint.sh:
sleep: invalid time interval '10s\r'
Try 'sleep --help' for more information.
/skill/entrypoint.sh: 4: cd: can't cd to /skill
Dockerfile:
FROM node:slim
RUN npm install -g nodemon@1.14.7
COPY package.json /skill/package.json
RUN mkdir -p /skill/
WORKDIR /skill/
RUN npm install
COPY entrypoint.sh /skill
RUN chmod +x /skill/entrypoint.sh
ENTRYPOINT ["sh","/skill/entrypoint.sh"]
entrypoint.sh
#!/bin/sh
sleep 10s
cd /skill
npm install
nodemon