Docker 多个PARM和RUN出现问题

Docker 多个PARM和RUN出现问题,docker,dockerfile,parceljs,Docker,Dockerfile,Parceljs,我正试图让Parcel Bundler从Dockerfile中构建资产。但它的失败在于: bash和sh确实是不同的shell,但在这里不重要-c“command-argument-argument”将整个shell字符串传递给-c,而-c command-argument-argument-code>只将command传递给-c,将这些参数解释为您正在调用的shell的附加命令。因此,正确的说法确实是: RUN parcel build index.html 或者,如果您更愿意明确执行,您可

我正试图让Parcel Bundler从Dockerfile中构建资产。但它的失败在于:


bash
sh
确实是不同的shell,但在这里不重要
-c“command-argument-argument”
将整个shell字符串传递给
-c
,而
-c command-argument-argument-code>只将
command
传递给
-c
,将这些参数解释为您正在调用的shell的附加命令。因此,正确的说法确实是:

RUN parcel build index.html
或者,如果您更愿意明确执行,您可以执行以下操作:

RUN [ "bash", "-c", "parcel build index.html" ]
但我不认为这是你的问题。看看你的docker文件,我想你可能是:

  • 缺少Bundler需要的一些文件(此时您只在
    package*.json
    中进行了复制)
  • 缺少Bundler需要运行的一些附加配置(我没有看到您明确设置“webapp”,但这可能在
    包*.json
    文件中)

我会把钱放在第一个上面

请参阅docker CMDah的bwteen shell和exec格式的差异是!我完全错过了。谢谢你指出这一点。我没有复制其他文件,因为我在开发时使用了绑定挂载,这是在启动容器时指定的(docker run-v…)。生产模式会将文件传输过来。