module DockerContainerPrune

takeltau docker container prune

Public Instance Methods

docker_container_prune() click to toggle source

Backend method for docker container prune.

# File lib/takeltau/docker/container/prune.rb, line 6
def docker_container_prune
  log.debug 'Removing orphaned docker containers'

  return false unless docker_check_daemon

  networks = _docker_container_prune_kill_orphaned_containers
  _docker_container_lib_remove_networks networks
end

Private Instance Methods

_docker_container_prune_kill_orphaned_containers() click to toggle source

Kill orphaned docker containers and return list of networks.

# File lib/takeltau/docker/container/prune.rb, line 18
def _docker_container_prune_kill_orphaned_containers
  networks = []

  _docker_container_lib_get_containers.each do |container|
    next unless docker_container_check_orphaned container

    name = _docker_container_lib_get_container_name_by_id container
    mutagen_socket_terminate "--label-selector='hostname=#{name}'"
    _docker_container_lib_stop_container container
    networks << name unless networks.include? name
  end
  networks
end