docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息

docker swarm集群的更新服务–挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息

业务上的需求,容器里的应用日志信息,能够直接在宿主机上查看,方便后期通过kibana进行日志分析.

操作步骤:

1.查看相应的swarm 集群服务,获取activemq集群服务的信息
docker service ls
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
2.执行docker swarm service服务更新操作,挂载宿主机目录挂至容器指定目录,activemq服务的容器指定目录路径为/var/log/activemq
docker service update --mount-add target=/var/log/activemq meuu21
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
3.查看docker的默认路径
docker info |grep 'Dir'
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
4.查看一个具体的activemq容器id
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
5.查看此容器日志保存/var/log/activemq路径在宿主机上的路径
docker inspect ca77b13 |egrep 'Source|Destination'
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息

6.进入宿主机的容器日志保存路径,查看目录下文件信息
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
查看目录下的acitvemq.log的信息
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
7.进入容器查看此容器里日志信息
docker exec -it ca77b1 bash
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息
查看容器里的acitvemq.log的信息
docker swarm集群的更新服务--挂载宿主机目录挂至容器指定目录,实现在宿主机查看容器应用的日志信息

容器里的日志信息与宿主机目录下的日志信息内容是一致的,这样后期就可以通过对宿主机目录下的日志信息进行采集,提供给kibba进行日志分析.

特别说明,在docker service update --mount-add 挂载路径时,不要添加Source路径.原因是同一宿主机,swarm service服务如果有多个task容器,各个task容器会保存其它容器的相同目录下的信息,有可能造成互相覆盖和占用更多空间