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

我该如何在主机中启动应用程序以便从正在运行的Docker容器中读取文件和stdout?

本质上我想这样做:

docker start containerid   

./myapp // This app will *somehow* have access files and stdout generated by the container I just stared.

我将如何去做?更具体地说明我要在哪里进行此操作;我想读取Docker容器的日志和标准输出,并在其他地方处理这些日志。

我也愿意创建另一个可以从另一个容器读取文件和stdout的docker容器,但是我不知道这是否可行。

回答:

通过命令可以使用由docker容器启动的进程的

标准输出

(用于使其永远运行)。另一个选择是直接通过docker远程API流式传输日志。docker

logs

$containerid-f

要访问日志文件(仅在必要时才考虑记录到stdout或其他标准解决方案,例如syslogd),您唯一的实时选项是配置卷(如Marcus Hughes建议的那样),以便将日志存储在容器外部并可供处理来自主机或另一个容器。

如果不需要实时访问日志,可以使用以下命令导出文件(以tar格式)docker

export

以上是 如何从正在运行的Docker容器中读取文件和标准输出 的全部内容, 来源链接: utcz.com/qa/434214.html

回到顶部