How to check the status of docker-compose up -d command

S A*_*rew 7 python pexpect docker docker-compose

当我们docker-compose up-d使用docker-compose.yml文件运行命令来运行 docker 时,它开始构建镜像或从注册表中拉取镜像。我们可以在终端上看到这个命令的每一步。

我正在尝试从 python 脚本运行此命令。命令成功启动,但在命令之后,我不知道该过程完成了多少。有什么方法可以监视docker-compose up -d命令的状态,以便脚本可以让用户(正在使用脚本的人)知道进程完成了多少,或者docker-compose命令是否由于某些原因而失败。?

谢谢

代码:

from pexpect import pxssh

session = pxssh.pxssh()
if not session.login(ip_address,<USERNAME>, <PASSWORD>):
    print("SSH session failed on login")
    print(str(session))
else:
    print("SSH session login successfull")
    session.sendline("sudo docker-compose up -d")
    session.prompt()
    resp = session.before
    print(resp)
Run Code Online (Sandbox Code Playgroud)

Muh*_*san 10

您可以docker compose通过以下方式查看日志

  1. 用于docker compose up -d以分离模式启动所有服务 (-d)(在分离模式下您不会看到任何日志)
  2. 用于docker compose logs -f -t将自己附加到所有正在运行的服务的日志,而意味着-f您遵循日志输出,并且该 -t选项为您提供了很好的时间戳(文档

信用

编辑:Docker Compose 现在作为核心 Docker CLI 的一部分提供。docker-compose目前仍然受支持,但我现在看到的大多数文档都称为docker compose标准。有关更多信息,请参阅https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command