回答

收藏

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

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

我将如何在我的主机上启动一个应用程序,以便从正在运行的 docker 在容器中读取文件和标准输出?, n. i% `4 y. B8 [0 ~( ~8 v
基本上我想这样做:
3 H! B0 g7 f( o
    docker start containerid   ./myapp // This app will *somehow* have access files and stdout generated by the container I just stared. + q& p, \5 g6 |
我该怎么办?更具体的说明我想用这个去哪里;我想读 docker 容器的日志和标准输出,并在其他地方处理。  b  S' a7 W  h- D
我也愿意创建另一个 ,可以从另一个容器读取文件和标准输出docker 容器,但我不知道这是否可能。( ]4 c7 u, m1 L5 T/ d/ k0 D- C
                                                                4 R4 h, I, z# W. y' s# ?5 W1 V
    解决方案:                                                               
2 z4 l; g+ [: g. ~) H1 Q                                                                docker 容器启动的进程的标准输出可通过docker logs $containerid命令获得(用于-f让它永远运行)。另一种选择是直接通过docker remote API流式传输日志。5 V. [- [+ Z; N
对于访问日志文件(必要时请考虑记录 stdout 或其他标准解决方案,如 syslogd),您唯一的实时选项是配置卷(如 Marcus Hughes 建议将日志存储在容器外,并可从主机或另一个容器处理。- Z" `+ }/ q8 P$ N
如果不需要实时访问日志,可以使用以下命令导出文件(以 tar 格式)docker export
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则