Docker:是否有可能使两个Docker容器logging在同一个文件上?

我有两个Dokcer容器

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

ContainerA – > /VolumeA/a.txt

ContainerB – > /VolumeB/a.txt

我想统一在相同的文件和相同的日志logging,所以我打算为这两个容器装载相同的SharedVolume ,并输出相同的a.txt文件的日志:

Intented Result :VolumeA OR VolumeB —> /SharedVolume/a.txt

我的问题是,不知道是否每个容器, 在日志logging结束擦除或写入

当然,我的目的是每次都在文件末尾find一种方法来进行日志logging。

另外我没有并发访问的问题 ,因为ContainerA始终在ContainerB之前进行日志logging

build议?

您可以将相同的卷装载到多个容器中。 例如: $ 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 $ 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所以这应该开箱即用。