Skip to main content

Dockerinfo - Easily extract information from docker containers

Project description

PyPI - Downloads per month Pepy Total Downlods

Easily extract information from docker containers

Since version 1.2 can extract containers logs.

Example:

from dockerinfo.docker_info import DockerContainerInfo, DockerHelper

# Create an instance of the DockerHelper class and list the existing containers.
# Use all_containers=True/False to list inactive containers.
docker_info = DockerHelper()
container_list = docker_info.list_containers(all_containers=True)

# Iterate through all found containers and extract information.
print(">>> ITERATING THROUGH ALL EXISTING CONTAINERS AND EXTRACTING INFORMATION")
for container in container_list:
    container_info = DockerContainerInfo(container)
    print(f"Container ID: {container_info.id}")
    print(f"Container Name: {container_info.name}")
    print(f"Container Status: {container_info.status}")
    print(f"Container Log (last 5 lines):")
    for log_line in container_info.get_logs_tail(5):
        print(log_line)

# Extract information from a specific container (in this case, 'test01').
print("
>>> LOOKING FOR A SPECIFIC CONTAINER (test01)")
container = docker_info.get_container_by_name('test01')

if container:
    # If the container is found, create an instance of the DockerContainerInfo class.
    container_info = DockerContainerInfo(container)

    # Print container information.
    print(f"Container ID: {container_info.id}")
    print(f"Container Name: {container_info.name}")
    print(f"Container Status: {container_info.status}")

    # Test other methods of the DockerContainerInfo class as needed.
    print(f"Networks (all): {container_info.networks}")

    network_name = 'bridge'  # Change the network name as needed.
    network_info = container_info.get_network_config(network_name)
    print(f"Network Info for {network_name}: {network_info}")

    ip_address = container_info.get_network_attribute(network_name, 'IPAddress')
    mac_address = container_info.get_network_attribute(network_name, 'MacAddress')
    print(f"IP Address: {ip_address}, Mac Address: {mac_address}")

    # Print more container information as needed.
else:
    print("Container not found: test01")

Available options:

  • id

Returns the container ID.

  • name

Returns the container name.

  • status

Returns the current status of the container.

  • config

Returns the entire configuration of the container.

  • hostname

Returns the container’s hostname.

  • domainname

Returns the container’s domain name.

  • stopsignal

Returns the stop signal of the container.

  • networks

Returns the configuration of all networks of the container.

  • get_network_config(network)

Returns the configuration of a specific network of the container.

  • get_network_attribute(network, attribute)

Returns a specific attribute of a network of the container.

  • mounted_volumes

Returns the configuration of volumes mounted in the container.

  • get_logs Get the logs of the container, split into lines. Return a list containing each line of the container’s logs as a string.

  • get_logs_since(timestamp) Get the logs of the container since a specified timestamp, split into lines.

Args:

timestamp (int): The Unix timestamp from which to start fetching logs.

Return a list containing each line of the container’s logs as a string.

  • get_logs_since_date(date_string) Get the logs of the Docker container since a specified date.

Args: date_string: A string representing the date in MM/DD/YYYY format.

Returns the logs since the specified date.

Example:

logs_since_date = instance.get_logs_since_date("01/15/2023")

Note: The date string must be in the correct format to avoid conversion errors

  • get_logs_tail(lines)

Get the last N lines of the container’s logs, split into lines.

Args:

lines (int): The number of lines to retrieve from the end of the logs.

Returns:

Returns a list containing each line of the container’s logs as a string.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dockerinfo-1.4.3.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

dockerinfo-1.4.3-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file dockerinfo-1.4.3.tar.gz.

File metadata

  • Download URL: dockerinfo-1.4.3.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for dockerinfo-1.4.3.tar.gz
Algorithm Hash digest
SHA256 88624190443fedbb8d5f62c2d0f61ef650f3de3533e842c079f5bfb83100c07b
MD5 8e701fef055947de9a8291c54e67f0f1
BLAKE2b-256 9e01ede33b12525e7243e391b0916d8dc3aa68abeb21aa0e355ac1f9d7677642

See more details on using hashes here.

File details

Details for the file dockerinfo-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: dockerinfo-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for dockerinfo-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 593ccda5582d7b3a1fef1be57dda2d9c1c671c4b472cc479d43b47088088a54c
MD5 2be991746d973aeefdc4ae226509e191
BLAKE2b-256 124a40be8e8d5767c24df66de95613078ed94a3808a060f0dd4c922e8c492d8e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page