mkdir在docker文件中失败,但在手动运行时可以正常运行

时间:2019-10-01 01:18:53

标签: linux docker dockerfile mkdir

我有一个看起来像这样的docker文件:

# escape=`
FROM  mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim
SHELL ["/bin/bash"]

RUN mkdir -p /usr/local/share/ca-certificates/myfolder

当我尝试构建时,出现以下错误:

  

/ bin / bash:mkdir -p / usr / local / share / ca-certificates / myfolder:没有这样的文件或目录

但是,如果我不使用该命令启动容器的实例,那么它将运行得很好:

mkdir -p /usr/local/share/ca-certificates/myfolder

它使文件夹很好。

我也尝试过:

RUN ["mkdir"] ["-p"] ["/usr/local/share/ca-certificates/myfolder"]

但是会出现以下错误:

  

mkdir:缺少操作数
  尝试使用'mkdir --help'了解更多信息。

如何从docker文件在Linux容器中创建目录?

注意:

  • 我的机器是Windows 10
  • 我的容器正在运行Debian 10

1 个答案:

答案 0 :(得分:0)

原来SHELL ["/bin/bash"]命令是错误的。当我删除它时,效果很好。

将其删除或替换为SHELL ["/bin/bash", "-c"]似乎可行。