Windows上的Docker中的更改目录命令不起作用

时间:2018-10-23 09:10:30

标签: docker docker-windows

我有运行以下文件的docker:

CMD /usr/local/bin/deploy.sh

deploy.sh文件中的第一个命令是

cd /home/app

它在Linux上的Docker中有效,但是在Windows上的Docker中,我出现以下错误:

 /usr/local/bin/deploy.sh: 1: cd: can't cd to /home/app

原因是什么?

这是我的dockerfile:

FROM node:8
RUN apt-get update
RUN npm install pm2 -g
WORKDIR /home/app
ADD ./deploy.sh /usr/local/bin/deploy.sh
RUN chmod g+x /usr/local/bin/deploy.sh
RUN chmod u+x /usr/local/bin/deploy.sh
RUN mkdir /root/.ssh/
RUN touch /root/.ssh/known_hosts
RUN chmod +x /usr/local/bin/deploy.sh
RUN chmod 777 /usr/local/bin/deploy.sh
CMD /usr/local/bin/deploy.sh

1 个答案:

答案 0 :(得分:0)

看起来您的行尾有CRLF (Windows),并且没有LF (linux),这是运行.sh或通常在linux下工作(docker-> linux)所必需的。

在记事本++或IntelIJ IDE中打开deploy.sh文件(我主要在Windows上使用docker在InteljIJ中始终工作),并检查行尾。

在Windows上,我一直使用LF结尾的globaly与IntelIJ进行evry项目。