如何在网页中列出所有已停止的Docker容器?现有代码仅返回最后一个删除容器
问题分析
你当前的代码在循环中每次都会覆盖message变量的值,所以最后return message只会返回最后一个被删除容器的信息,而非所有被删除容器的内容。
解决方案
可以通过收集所有删除信息再统一返回的方式解决,以下是两种可行实现:
方式1:用列表收集后拼接
import docker client = docker.from_env() stopped_containers = client.containers.list(filters={'status': 'exited'}) messages = [] for container in stopped_containers: container.remove(force=True) msg = f"Removed containers {container.name}." messages.append(msg) print(msg) # 将所有消息拼接为换行分隔的字符串返回 return '\n'.join(messages)
方式2:直接拼接字符串
import docker client = docker.from_env() stopped_containers = client.containers.list(filters={'status': 'exited'}) message = "" for container in stopped_containers: container.remove(force=True) msg = f"Removed containers {container.name}." message += msg + '\n' print(msg) # 可选:移除末尾多余的换行符 return message.rstrip('\n')
修改后返回的内容会包含所有被删除容器的信息,网页上即可展示完整的删除概况。
内容的提问来源于stack exchange,提问作者Jelly2882
相关产品推荐
相关产品推荐

