在容器之间共享数据

我有一个运行应用程序服务器的docker集装箱。 应用程序日志生成并存储在一个特定的目录中。 在我的情况下,有多个日志文件和跟踪生成并存储在该位置。

我可以理解,有多种方式来访问这些日志 – 例如

docker exec -it <container_id> bash ssh into the container (when the keys are set while creating the container) 

除了上面的两个例子,我想通过一个不同的容器(运行一个nginx的web服务器)来访问日志。 理论上我可以理解,在为应用服务器(第一个容器)创builddocker容器时使用“-volumes-from”的概念,我们可以实现,但是我不知道如何让它工作。

我的要求是每当生成日志,它应该通过其他容器的networking服务器。 有没有办法像目录列表一样查看整个日志目录的目录列表(通过卷???)。

我尝试了这样的事情,并没有像预期的那样工作

 docker run --name=log_webserver -p 80 --volumes-from logvol:/website_files nginx docker run --name appcontainer -m 1024 -p 9080 -v sysvol:/var/log/rsyslog -v logvol:/opt/servers/simpleappserver/logs krckumar/simpleappserver 

任何其他方式来公开日志? 请build议。

 docker run --name container1 -v /website_files docker run --name container2 --volumes_from container1 

揭露日志做…. –

 docker logs -f container1 

如果您在ENTRYPOINT脚本中使用日志,tail -f也会起作用,因为docker是以进程为中心的,所以tail -f也会阻止容器退出。 因为尾巴-f永远不会结束,所以你的容器永远不会退出。 所以你可以调查里面发生了什么

 docker exec -it container1 bash 

任何更多的问题PLZ问。

PS如果使用多个容器,您可能需要考虑使用docker-compose,这很容易学习,完全基于docker命令本身。