我有 两个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 之前记录
建议?
答案 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
所以这应该是开箱即用的。