#!/usr/bin/python3
"""Check Docker images for security/distro updates. Assumes DNF."""

from __future__ import division, print_function
import docker
import subprocess

c = docker.APIClient(base_url='unix://var/run/docker.sock')
for container in c.containers():
    name = container['Names'][0]
    id_ = container['Id']
    image_id = c.inspect_container(id_)['Image']

    print('-' * 75)
    print('Container: {}'.format(name))
    print('Image: {} '.format(image_id))

    # Not using the API here for simplicity (for now)
    output = subprocess.check_output([
        'docker', 'run', '-t', '--rm',
        image_id,
        '/bin/bash', '-c',

        'dnf -q check-update;' +
        'if [ $? == 100 ]; then echo "Updates available"; fi'
    ])
    print(output.decode())