linux - Docker linux - 无法使用 docker exec (ASP.NET Core) cd 进入某些目录

标签 linux docker asp.net-core

我试图了解文件结构在 docker 容器内的工作原理,以及了解卷和挂载。

让我困惑的一件事是当我 docker exec -it <container id> /bin/bash放入容器中,我不能 cd进入一些目录。

例如,如果我运行 cd logs ,我希望能够运行 ls获取日志文件列表,但我得到 No such file or directorycd logs命令。

但是我可以运行 cd wwwroot并四处导航。

在下面的终端图像中,您可以看到 ls 的结果一旦我执行了。

我可以运行cat logs\2019-07-04.log.json例如,将文件内容打印到屏幕上。但我还是做不到 cd logs .

enter image description here

我也尝试过以下方法:

enter image description here

这就像文件路径是一个“键”而不是一个正确的目录结构。

所以这似乎仅限于 directories应用程序在运行时写入,而构建时加载的文件具有正确的文件结构。

这是否特定于 Linux 容器上的 .NET Core?为什么会这样?

最佳答案

这是因为没有名为 logs 的文件夹,您创建了名为 logs\2019-07-04.log.jsonlogs\2019-07-05.log.json 的文件来解决此问题:

首先创建一个新文件夹mkdir logs

然后将文件移动到文件夹mvlog\\2019*logs/

为了仅使用一个 \,需要使用两个 \\。 那么你应该能够 ls。

问候;)

关于linux - Docker linux - 无法使用 docker exec (ASP.NET Core) cd 进入某些目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899181/

相关文章:

c++ - 如何在 C++ 中将 vector<int> 正确传递给 pthread_create?

linux - 用于连接到 sql server 数据库服务器并从文件中插入结果的 shell 脚本

linux - 解释脚本行

node.js - 在微服务之间共享代码

scala - 将 scala 应用程序部署为 docker 容器

linux - 如何在 OS X 上设置 SSH 服务器

linux - 关闭 Docker 容器内的 MongoDB 会导致 100% CPU

asp.net-web-api - Asp.Net Core WebAPI CORS 不工作

c# - 具有 DbContext 的单例 - 在 Startup.cs 中创建实例

asp.net-core - Asp.net Core 通过用户 ID 获取用户