Docker sh:语法错误:“语法错误”&&&引用;来自chgrp的意外-R 0<;app/csv>&&;

Docker sh:语法错误:“语法错误”&&&引用;来自chgrp的意外-R 0<;app/csv>&&;,docker,shell,Docker,Shell,我试图运行以下docker,但得到错误/bin/sh:1:语法错误:“&&”意外的。它来自上一次运行chgrp时的&& 这是我的docker文件 # The builder from node image FROM node:14.5.0-buster as swi RUN apt-get update && apt-get install # Move our files into directory name "app" WORKDIR /app COP

我试图运行以下docker,但得到错误
/bin/sh:1:语法错误:“&&”意外的
。它来自上一次运行chgrp时的&&

这是我的docker文件

# The builder from node image
FROM node:14.5.0-buster as swi
RUN apt-get update && apt-get install

# Move our files into directory name "app"
WORKDIR /app
COPY package.json /app/
RUN cd /app && npm install
COPY . /app
RUN cd /app && npm run build
RUN chgrp -R 0 <app/csv> && \
    chmod -R g=u <app/csv>
EXPOSE 5001

CMD [ "node", "server.js" ]
#节点图像的生成器
来自节点:14.5.0-buster作为swi
运行apt-get-update&&apt-get-install
#将文件移到目录名“app”中
WORKDIR/app
复制package.json/app/
运行cd/app&&npm安装
抄袭/应用程序
运行cd/app&&npm运行构建
运行chgrp-R 0&&\
chmod-rg=u
曝光5001
CMD[“node”,“server.js”]

尝试删除&&as\表示运行下一个命令,但得到相同的错误

尖括号错误-应按原样使用目录名:

RUN chgrp -R 0 app/csv && \
    chmod -R g=u app/csv

应该从路径中删除尖括号。此外,由于设置为
/app
,我们只需
chgroup
chown
文件夹
csv
。我还建议删除换行符并将其作为一个换行符:

RUN chgrp -R 0 csv && chmod -R g=u csv
通过使用
WORKDIR
设置为
/app
,我们可以简化docker文件:

# The builder from node image
FROM node:14.5.0-buster as swi
RUN apt-get update && apt-get install

# Move our files into directory name "app"
WORKDIR /app
COPY package.json .
npm install
COPY . .
RUN npm run build
RUN chgrp -R 0 csv && chmod -R g=u csv
EXPOSE 5001

CMD [ "node", "server.js" ]

尖括号是仅用于代码示例还是在实际代码中?如果它们在实际代码中:您可以尝试删除它们吗?--您是否尝试同时删除换行符和反斜杠?谢谢,我已经尝试删除换行符和反斜杠。问题是尖括号。是的,它是一个占位符。感谢您发现我在应用程序前面添加了斜杠,或者它找不到文件夹/app/csv