30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
import paramiko
|
|
import sys
|
|
import json
|
|
|
|
sys.stdout.reconfigure(encoding='utf-8')
|
|
|
|
ssh = paramiko.SSHClient()
|
|
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
ssh.connect('140.44.4.71', username='snarf', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=8)
|
|
|
|
stdin, stdout, stderr = ssh.exec_command('sudo docker inspect portainer')
|
|
data = json.loads(stdout.read().decode())[0]
|
|
|
|
print("Container Name:", data["Name"])
|
|
print("Image:", data["Config"]["Image"])
|
|
print("Command:", data["Config"]["Cmd"])
|
|
print("Mounts:")
|
|
for m in data.get("Mounts", []):
|
|
print(" ", m.get("Source"), "->", m.get("Destination"))
|
|
|
|
stdin, stdout, stderr = ssh.exec_command('sudo docker exec portainer /portainer --version || sudo docker inspect --format="{{.Config.Labels}}" portainer')
|
|
print("Version/Labels:", stdout.read().decode().strip())
|
|
|
|
# Check portainer_agent service
|
|
stdin, stdout, stderr = ssh.exec_command('sudo docker service inspect portainer_agent --format="{{.Spec.TaskTemplate.ContainerSpec.Image}}"')
|
|
print("Agent Service Image:", stdout.read().decode().strip())
|
|
|
|
ssh.close()
|
|
|