📅  最后修改于: 2023-12-03 15:24:09.800000             🧑  作者: Mango
在 Docker 中停止容器是一个非常基本和重要的操作。Python 在 Docker 操作中也扮演着重要的角色。本文将向你介绍如何使用 Python 在 Docker 中停止容器。
Docker SDK 是 Docker 的官方 Python SDK。它支持所有的 Docker API 操作,包括容器管理。因此,如果你想在 Python 中停止一个 Docker 容器,可以使用 Docker SDK。
首先,你需要安装 Docker SDK。你可以使用 pip 包管理器安装它:
pip install docker
要停止一个 Docker 容器,你需要首先创建一个 Docker 客户端:
import docker
client = docker.from_env()
接下来,你可以使用该客户端的 containers.get
方法获取要停止的容器对象:
container = client.containers.get('container_id_or_name')
最后,你可以使用容器对象的 stop
方法停止容器:
container.stop()
如果你需要传递停止容器的超时时间,可以在 stop
方法中传递 timeout
参数:
container.stop(timeout=10)
如果你使用 Docker Compose 管理容器,你可以使用以下命令停止所有容器:
docker-compose down
如果你只想停止特定服务的容器,可以使用以下命令:
docker-compose stop <service_name>
如果你想在 Python 代码中执行这些命令,可以使用 os
模块来调用命令:
import os
os.system('docker-compose down')
或者使用 subprocess
模块来以编程方式运行命令:
import subprocess
subprocess.run(['docker-compose', 'down'])
下面是一个 Python 脚本示例,可以使用 Docker SDK 停止指定 ID 或名称的容器:
import docker
client = docker.from_env()
def stop_container(container_id_or_name):
container = client.containers.get(container_id_or_name)
container.stop()
print(f'Stopped container: {container_id_or_name}')
if __name__ == '__main__':
container_id_or_name = input('Enter container ID or name: ')
stop_container(container_id_or_name)
停止 Docker 容器是 Docker 中最基本的操作之一。Python 能够以多种方式与 Docker 交互,包括使用 Docker SDK 和 Docker Compose。本文向你介绍了如何使用 Python 停止 Docker 容器。