如何从正在运行的 Docker 容器中读取文件和标准输出
技术问答
338 人阅读
|
0 人回复
|
2023-09-12
|
我将如何在我的主机上启动一个应用程序,以便从正在运行的 docker 在容器中读取文件和标准输出?
: I" F+ n W7 F5 g' W# J7 x- I& {基本上我想这样做:
& O3 p4 U8 X/ b8 xdocker 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 |
|
|
|
|
|