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

时间:2019-07-05 08:17:14

标签: linux docker asp.net-core

我试图了解docker容器中文件结构的工作方式,并了解卷和装载。

让我感到困惑的一件事是,当我docker exec -it <container id> /bin/bash进入一个容器时,我无法cd进入某些目录。

例如,如果我运行cd logs,则希望能够运行ls来获取日志文件列表,但是我会在{{1 }}命令。

但是我可以运行No such file or directory并四处浏览。

在下面的终端图像中,一旦执行,您就可以看到cd logs的结果。

例如,我可以运行cd wwwroot,以将文件内容打印到屏幕上。但我仍然无法ls

enter image description here

我也尝试了以下方法:

enter image description here

这就像文件路径是“键”而不是适当的目录结构一样。

因此,这似乎仅限于应用程序在运行时写入的cat logs\2019-07-04.log.json,而在构建时加载的文件具有正确的文件结构。

这是特定于Linux容器上的.NET Core吗?为什么这样工作?

1 个答案:

答案 0 :(得分:1)

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

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

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

为了仅使用一个\\,必须使用双\。 然后您应该可以ls。

关于;)