如何检查docker-compose up -d 命令的状态
How to check the status of docker-compose up -d command
当我们 运行 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)
您可以通过以下方式查看 docker-compose
日志
- 使用
docker-compose up -d
以分离模式启动所有服务(-d)
(您不会在分离模式下看到任何日志)
- 使用
docker-compose logs -f -t
将自己附加到所有日志
运行 服务,而 -f
意味着您遵循日志输出和
-t
选项为您提供漂亮的时间戳 (Docs)
credit
我调试小问题的方法是 运行:
docker-compose up {service_name}
这样我就可以看到单个服务的输出。如果服务有依赖关系,你总是可以像这样启动多个服务:
docker-compose up {service_name1} {service_name2}
另外我使用:
docker-compose logs -f -t {service_name1}
要查看已经 运行ning 服务的日志,或者:
docker logs -t -f {container_name}
注意上面的命令需要容器名称而不是服务名称
通过这种方式,您可以确保每个服务都按预期工作,然后您可以按照其他答案中的建议以分离模式启动它们
我认为应该使用命令docker-compose top
,可以查看结果,容器为运行时不应为空。
如果容器是 stop
或 exit
或 Create
,它应该 return 空
当我们 运行 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)
您可以通过以下方式查看 docker-compose
日志
- 使用
docker-compose up -d
以分离模式启动所有服务(-d) (您不会在分离模式下看到任何日志) - 使用
docker-compose logs -f -t
将自己附加到所有日志 运行 服务,而-f
意味着您遵循日志输出和-t
选项为您提供漂亮的时间戳 (Docs)
credit
我调试小问题的方法是 运行:
docker-compose up {service_name}
这样我就可以看到单个服务的输出。如果服务有依赖关系,你总是可以像这样启动多个服务:
docker-compose up {service_name1} {service_name2}
另外我使用:
docker-compose logs -f -t {service_name1}
要查看已经 运行ning 服务的日志,或者:
docker logs -t -f {container_name}
注意上面的命令需要容器名称而不是服务名称
通过这种方式,您可以确保每个服务都按预期工作,然后您可以按照其他答案中的建议以分离模式启动它们
我认为应该使用命令docker-compose top
,可以查看结果,容器为运行时不应为空。
如果容器是 stop
或 exit
或 Create
,它应该 return 空