Python 日志线程在 docker 容器中仍然安全吗?
Is Python logging thread safe still from within a docker container?
我正在尝试对依赖 logging 的 Python 应用程序进行竞争。该库被声明为线程安全的。我只是不确定它“有多安全”。
我的想法是 运行 docker 容器作为 docker run --rm -it my_container
。这将在容器中创建一个日志文件,该文件将使用 volume
映射到主机中的文件系统(上面的命令中没有明确显示,因为我仍然没有弄清楚如何做到这一点)。现在,在实践中,将有几个这样的容器 运行 在主机中并行运行,所有这些都共享同一个日志文件(一旦我弄清楚如何做到这一点)。
这仍然是线程安全的吗?安全实施到什么水平?我们说的不是“系统线程”,而是不同容器中的不同进程。他们只共享文件。这足以确保在不弄乱文件的情况下从各种进程添加新行的安全性吗?
如果你是运行多个Docker容器,那么你就是运行多个进程。线程安全涉及单个进程中多个线程之间的争用,因此在这种情况下线程安全无关紧要。参考the official documentation relating to logging from multiple processes.
我正在尝试对依赖 logging 的 Python 应用程序进行竞争。该库被声明为线程安全的。我只是不确定它“有多安全”。
我的想法是 运行 docker 容器作为 docker run --rm -it my_container
。这将在容器中创建一个日志文件,该文件将使用 volume
映射到主机中的文件系统(上面的命令中没有明确显示,因为我仍然没有弄清楚如何做到这一点)。现在,在实践中,将有几个这样的容器 运行 在主机中并行运行,所有这些都共享同一个日志文件(一旦我弄清楚如何做到这一点)。
这仍然是线程安全的吗?安全实施到什么水平?我们说的不是“系统线程”,而是不同容器中的不同进程。他们只共享文件。这足以确保在不弄乱文件的情况下从各种进程添加新行的安全性吗?
如果你是运行多个Docker容器,那么你就是运行多个进程。线程安全涉及单个进程中多个线程之间的争用,因此在这种情况下线程安全无关紧要。参考the official documentation relating to logging from multiple processes.