Docker:是否可以使两个Docker容器登录同一个文件?

时间:2017-10-23 15:34:55

标签: docker docker-container docker-volume docker-image

我有 两个Dokcer容器

每个容器的日志都写在 a.txt

文件中

ContainerA - >的 /VolumeA/a.txt

ContainerB - >的 /VolumeB/a.txt

我想统一同一个文件和相同卷中的日志记录,因此我打算为两个容器安装相同的 SharedVolume ,并输出相同的< strong> a.txt 档案:

Intented 结果 VolumeA OR VolumeB ---&gt;的 /SharedVolume/a.txt

我的问题是,当记录时,idon不知道每个容器是否会在文件末尾删除或写入

  

当然,我的目的是找到一种方法来进行日志记录,   文件结束每次。

此外我还没有并发访问问题,因为 ContainerA 总是在 ContainerB 之前记录

建议?

1 个答案:

答案 0 :(得分:1)

您可以将同一卷安装到多个容器中。例: $ docker run -di -v mynewvol:/logdir busybox 'echo first > /logdir/logfile && cat -v' $ docker ps 862068e5f930 busybox "/bin/sh -c 'echo ..." 5 seconds ago Up 4 seconds infallible_roentgen $ docker run -it --rm -v mynewvol:/logdir busybox /bin/sh -c 'echo second >> /logdir/logfile; cat /logdir/logfile' first second 所以这应该是开箱即用的。