我有一个看起来像这样的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

最佳答案

原来SHELL ["/bin/bash"]命令是错误的。当我删除它工作正常。

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

10-07 19:47
查看更多