gpt4 book ai didi

docker - 如何在后台捕获通过 `docker-compose exec -d` 运行的命令的日志?

转载 作者:行者123 更新时间:2023-12-02 18:26:51 25 4
gpt4 key购买 nike

考虑一个 docker-compose.yml像这样的文件:

version: '3'

services:
test:
image: ubuntu:18.04
tty: true


我可以通过运行 docker-compose up -d 在后台启动服务

现在我可以使用 docker-compose exec 在这个容器上运行命令

例如:
docker-compose exec test ls -lrt | head -3

当我运行上面的命令时,我在终端上得到输出
total 64
drwxr-xr-x 8 root root 4096 May 23 2017 lib
drwxr-xr-x 2 root root 4096 Apr 24 2018 home

现在我想要的是能够在后台运行上述命令,我可以这样做
docker-compose exec -d test ls -lrt | head -3

该命令将在后台运行,这很好。但是如何访问上述命令的输出?

最佳答案

您可以重定向容器内文件中的输出,然后输出该文件的内容,例如:

# execute command and redirect to output.log in container
docker-compose exec -d test sh -c 'ls -lrt | head -3 > /tmp/output.log'

# retrieve output content
docker-compose exec test cat /tmp/output.log

关于docker - 如何在后台捕获通过 `docker-compose exec -d` 运行的命令的日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60223900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com