python3 重启docker方法

一、工作中的问题

工作中进行测试时,需要修改nacos配置,修改完成后再重启对应的docker容器,让配置生效,研究了下,使用docker库可以做到。

如何修改nacos配置可以参见我的另一篇文章,传送门

python3 修改nacos的yaml配置_xugexuge的博客-CSDN博客

二、安装docker三方库

python 复制代码
pip install docker

三、代码如下

python 复制代码
import docker

# 创建 Docker 客户端实例
client = docker.from_env()

# 查找正在运行的 Docker 容器
containers = client.containers.list()

for container in containers:
    container_name = container.name  # docker的名字
    container_id = container.id  # docker的id
    container_status = container.status  # docker的状态

    """
    这里可以写你的业务逻辑,比如停止某个id的docker,或者停止某个名字的docker
    """
    container.stop()  # 停止docker
    container.start()  # 启动docker
    container.restart()  # 重启docker

# 关闭 Docker 客户端连接
client.close()

四、注意点

按以上写法,由于没有输入账号密码,需要在docker容器的那台服务器上去执行代码。如果想远程执行,需要在创建docker客户端实例后加入如下代码进行登录,但是这里就需要运维将服务器的登录方式设置为手动登录才能使用。

python 复制代码
# 登录 Docker
client.login(username='your-username', password='your-password')

示例写法如下

python 复制代码
import docker

# 创建 Docker 客户端实例
client = docker.from_env()

# 登录 Docker
client.login(username='your-username', password='your-password')

# 查找正在运行的 Docker 容器
containers = client.containers.list()

for container in containers:
    container_name = container.name  # docker的名字
    container_id = container.id  # docker的id
    container_status = container.status  # docker的状态

    """
    这里可以写你的业务逻辑,比如停止某个id的docker,或者停止某个名字的docker
    """
    container.stop()  # 停止docker
    container.start()  # 启动docker
    container.restart()  # 重启docker
# 关闭 Docker 客户端连接
client.close()
相关推荐
codezzzsleep1 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint
古法老登瞎折腾1 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
讯捷蓝达2 小时前
IBM V3500存储 双控故障、数据怎么恢复?
运维
qq_谁赞成_谁反对2 小时前
甲方IT的成长之路--SG TCP网络优化工具--20261026
运维·服务器·udp·tcp
闲云野鹤在人间2 小时前
Kubernetes Service 与 kube-proxy 详解
云原生·容器·kubernetes
龙亘川3 小时前
适应人工智能发展、构建就业友好型发展方式
大数据·运维·人工智能·信息可视化·智慧城市
数据库小学妹3 小时前
OLAP数据库怎么选、怎么优化?路线、提速与边界
运维·数据库·后端
说实话起个名字真难啊4 小时前
实战docker部署dify及注意点
运维·docker·容器
福建佰胜张工4 小时前
费希尔 FIELDVUE™ DVC6200-AC 智能阀门定位器深度解析:双作用配置、核心参数与典型应用
运维·安全·自动化
小羊没烦恼!4 小时前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf