24 lines
		
	
	
	
		
			773 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			773 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/python
 | 
						|
"""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)
 | 
						|
    subprocess.call(['docker', 'run', '-t', '--rm',
 | 
						|
                     image_id,
 | 
						|
                     '/bin/bash', '-c',
 | 
						|
 | 
						|
                     'dnf -q check-update;' +
 | 
						|
                     'if [ $? == 100 ]; then echo "Updates available"; fi'])
 |