回答

收藏

如何从正在运行的 Docker 容器中读取文件和标准输出

技术问答 技术问答 246 人阅读 | 0 人回复 | 2023-09-12

我将如何在我的主机上启动一个应用程序,以便从正在运行的 docker 在容器中读取文件和标准输出?. O- e8 q4 L6 o) w, S
基本上我想这样做:
: Y; O# ^* K" f
    docker start containerid   ./myapp // This app will *somehow* have access files and stdout generated by the container I just stared.
    1 a& X& j# }, u2 }& y
我该怎么办?更具体的说明我想用这个去哪里;我想读 docker 容器的日志和标准输出,并在其他地方处理。
8 Y- f7 D" I  g0 C# ]- T7 f我也愿意创建另一个 ,可以从另一个容器读取文件和标准输出docker 容器,但我不知道这是否可能。( g: R( x, R3 U  k
                                                                & M. B# J/ |  D+ z* Z! I
    解决方案:                                                               
+ U1 O7 a. s7 J7 @- E. J                                                                docker 容器启动的进程的标准输出可通过docker logs $containerid命令获得(用于-f让它永远运行)。另一种选择是直接通过docker remote API流式传输日志。( N6 X3 c3 g, P5 [2 O6 u- G
对于访问日志文件(必要时请考虑记录 stdout 或其他标准解决方案,如 syslogd),您唯一的实时选项是配置卷(如 Marcus Hughes 建议将日志存储在容器外,并可从主机或另一个容器处理。
4 L+ ]7 p8 f8 C: [: c4 n. ^: @. H6 x0 M4 y如果不需要实时访问日志,可以使用以下命令导出文件(以 tar 格式)docker export
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则