一、工作中的问题
工作中进行测试时,需要修改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()