我在Windows 10中使用docker,并希望将日志从docker容器输出到主机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
下创建。
最佳答案
您正在使用哪种类型的容器?
运行命令后,日志文件是否存在于容器中正确位置/ app / logs的另一侧?
我尝试过重新创建您的问题,但是使用您的run命令,我没有任何问题。
(日志记录无关紧要。您可以将任何东西放在容器内的app / logs文件夹中进行测试,它应该显示在已安装的文件夹中。在我这一边,我进入了app / logs文件夹并运行
touch test.txt
并且test.txt出现在另一侧,没有问题。)
在容器中找到文件夹。手动将文件放在其中,然后查看文件是否在另一侧显示。或相反亦然。我的猜测是,在运行命令之后,您实际上尚未在app / logs文件夹中放置任何日志。
关于docker - 如何将卷从主机装载到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54089399/