我想创建一个 docker,它可以连续地从另一个容器“factorio”中读取日志、stdout 和 stderr。
我知道我应该把它作为一个卷来做,但我目前最好的选择是
sudo docker logs -f factorio &> /var/log/factorio/current.logs
我在屏幕上运行上述内容。我将它作为后台命令,但是当您退出终端时,它会退出该命令。Screen 允许它在自己的终端上运行。
它在后台运行并不断更新文件。我的 newapp 容器以卷的形式连接到此文件位置,每 5 秒拖尾一次以获取任何更新并根据这些更新发送通知。肯定有更好的方法来处理卷,但我不知道如何。
someapp docker 命令如下:
sudo docker run -d \
-p 34197:34197/udp \
-p 27015:27015/tcp \
-v /opt/factorio:/factorio \
--name factorio \
--restart=always \
dtandersen/factorio:0.17.16
日志文件是/opt/factorio/factorio-current.log但不包括 stdout 或 stderr。docker logs 包含此信息