【问题标题】:dotnet docker /bin/sh: 1: [dotnet,: not founddotnet docker /bin/sh: 1: [dotnet,: 未找到
【发布时间】:2017-10-20 01:01:04
【问题描述】:

我使用 dockerfile 成功构建,但是当我尝试从构建映像运行新容器时,出现以下错误:

我必须为解决方案做些什么?

错误:/bin/sh: 1: [dotnet,: not found

docker 运行命令:

docker run --rm -it -p 8080:80 furkaandogan/myapp:0.1

Dockerfile:

FROM microsoft/aspnetcore:1.1
ARG source
WORKDIR /app
ENV ASPNETCORE_URLS http://*:80
EXPOSE 80
COPY ./publish/myapp .
ENTRYPOINT ["dotnet", "myapp.dll"]

【问题讨论】:

  • 如果您在 Visual Studio 中构建了图像,此链接可能会有所帮助:stackoverflow.com/a/43720639/5112433
  • 请不要将解决方案编辑到问题中——这样做会使社区无法审查与问题本身不同的提议解决方案(甚至是 OP 提议的解决方案)。分享解决方案的适当方式是使用“添加答案”链接,就像您所做的那样。

标签: docker .net-core dockerfile


【解决方案1】:

上面的答案很清楚,但是我按照上面的方法将CMD [ 'node', 'app.mjs' ]更改为CMD [ "node", "app.mjs" ],确保我添加了一个逗号,同样的事情仍然发生。

折腾了一会儿,我开始想,也许我需要重新构建 docker 文件,所以我又做了一次docker build .。砰,这次成功了!

这样一个菜鸟的错误!就像我对 Java 存储库进行了更改但我没有重新构建 Java 存储库一样,所以仍然会发生错误。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。就我而言,问题出在 Dockerfile 中的入口点语句中。我在两个参数“dotnet”和“url for dll”之间缺少一个逗号

    之前:

    CMD ["dotnet" "url to dll"]
    

    应用修复后:

    CMD ["dotnet", "url for dll"]
    

    【讨论】:

    • 与主题无关,此事解散。我遇到了与构建上下文权限相关的问题
    • 缺少逗号、不正确的引号或任何其他无效的 json 肯定会导致问题中的错误消息。
    • ENTRYPOINT / CMD 行中使用单引号而不是双引号时,我也遇到了这个错误。
    • 我收到此错误是因为语句末尾有注释。
    【解决方案3】:

    问题是docker忽略文件不允许复制地址

    我通过将地址添加到docker忽略文件或使用允许的文件地址解决了问题

    旧的 dockerignore 配置

    *
    !obj/Docker/publish/*
    !obj/Docker/empty/
    

    新的 dockerignore 配置

      *
        !obj/Docker/publish/*
        !obj/Docker/empty/
        !publish/myapp
    

    【讨论】:

    • 如果您可以通过恢复到之前的 .dockerignore 文件来重现 Error : /bin/sh: 1: [dotnet,: not found,我会感到相当惊讶,但毫无疑问,这会导致导致不同错误的问题。
    • 这实际上是我得到的最佳答案。因为我在 jenkins 上检查了我的日志,而我最后一次遇到这个错误实际上是我在这个项目中添加了一个 gitignore 时。
    • 但是把那个 gitconfig 代码放在上面,并没有改变我的构建我仍然得到同样的错误
    【解决方案4】:

    在 Dockerfile 的入口点行中有一些内容会触发 docker 将其视为无效的 json,并且它会退回到字符串的 shell 执行。您粘贴的内容看起来正确,因此我会检查字符串末尾的智能引号或 Windows 换行符等字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-07
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2018-04-26
      • 2017-03-08
      相关资源
      最近更新 更多