首页 > 解决方案 > 如何将卷从主机挂载到容器

问题描述

我在 Windows 10 中使用 docker 并希望将日志从 docker 容器输出到 host D:/Test

这是我的日志配置:

public class HomeController : Controller
{
    private readonly ILogger<HomeController> _logger;
    public HomeController(ILogger<HomeController> logger)
    {
        _logger = logger;
    }
    public IActionResult Index()
    {
        _logger.LogError("Access Denied!!!");
        return View();
    }

这是我安装卷的命令

docker run -it -p 8081:80 -v D:/Test:/app/logs --name dockercoreapp10 dockercoreapp:v2

运行后docker inspect dockercoreapp10,我可以看到坐骑。

在此处输入图像描述

我可以访问http://localhost:8081/,但日志文件没有在D:\Test.

标签: dockerdockerfile

解决方案


您正在使用什么类型的容器?

在运行命令之后,日志文件是否存在于另一端,在容器中的正确位置 /app/logs 中?

我试过重现你的问题,但使用你的运行命令,我没有问题。

(日志内容无关紧要......您可以将任何内容放在容器中的 app/logs 文件夹中进行测试,它应该出现在您安装的文件夹中。在我这边,我进入了 app/logs 文件夹并运行

touch test.txt 

并且test.txt出现在另一边,没有问题。)

找到容器内的文件夹。手动将文件放在那里并检查它是否显示在另一侧。或相反亦然。我的猜测是,在运行命令之后,您实际上并没有在 app/logs 文件夹中放置任何日志。


推荐阅读