我们现在有这样一个需求。
我们有一个 Spring 的项目是部署在容器中的,如果不进行任何配置的话,这个项目运行的所有日子都会在容器中。
当容器重启说着终止后,上面的日志比较难进行查看。
我们希望我们的日志同时也记录在操作系统中,这么我们就不需要进入容器后才能看到日志了。
解决方案
上面的问题的解决方案就是使用 Docker 的挂在卷。
我们是使用 docker-compose.yaml
进行部署的。
所以我们在部署文件中配置了一个:
volumes:
- /var/log/usreio:/var/log/usreio
通过上面的这个配置,我们就可以在操作系统中的 /var/log/usreio
进行查看了。
如上面标记的配置。
挂载
数据卷的挂载,是从host 到 container 的,相当于linux 系统中将 host 文件夹挂载在container的指定目录下,若挂载位置有文件/文件夹,则原文件夹隐藏,unmount 后原文件夹恢复。
句法为: /host/path
:/container/path
上面的标记,冒号前面为实际的服务器的目录路径,冒号后面的是对应容器中的目录路径。
- 若挂载的是目录,容器目录要为空目录
- 若容器目录不存在,也可以挂载会自动创建
- volumes基本规则->*文件夹:文件夹;文件:文件