回答

收藏

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

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

我将如何在我的主机上启动一个应用程序,以便从正在运行的 docker 在容器中读取文件和标准输出?
: I" F+ n  W7 F5 g' W# J7 x- I& {基本上我想这样做:
& O3 p4 U8 X/ b8 x
    docker start containerid   ./myapp // This app will *somehow* have access files and stdout generated by the container I just stared. ' X8 H3 k4 |0 O) j3 \; p2 F
我该怎么办?更具体的说明我想用这个去哪里;我想读 docker 容器的日志和标准输出,并在其他地方处理。
- P8 O6 P/ g: A4 _" G# o; H2 ^我也愿意创建另一个 ,可以从另一个容器读取文件和标准输出docker 容器,但我不知道这是否可能。( J- \7 x! ^6 f  _1 a9 u
                                                               
6 z$ w/ @" X/ B    解决方案:                                                                + l% t8 f3 p0 h4 j" w' v
                                                                docker 容器启动的进程的标准输出可通过docker logs $containerid命令获得(用于-f让它永远运行)。另一种选择是直接通过docker remote API流式传输日志。: A9 W6 y  ^7 f( X4 c
对于访问日志文件(必要时请考虑记录 stdout 或其他标准解决方案,如 syslogd),您唯一的实时选项是配置卷(如 Marcus Hughes 建议将日志存储在容器外,并可从主机或另一个容器处理。
* z0 L$ d# x" E如果不需要实时访问日志,可以使用以下命令导出文件(以 tar 格式)docker export
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则