27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
import json
|
|
|
|
from utils.date_converter import datetime_from_timestamp
|
|
from .base import Portainer
|
|
|
|
|
|
class Containers(Portainer):
|
|
def list_containers_of_stack(self, endpoint_id, stack_name):
|
|
endpoint_containers = self.portainer.containers.list_containers_by_endpoint(endpoint=endpoint_id)
|
|
containers_list = []
|
|
for container in endpoint_containers:
|
|
if container['Labels'].get('com.docker.compose.project') == stack_name:
|
|
container_data = {
|
|
"id": container['Id'],
|
|
"name": container['Names'][0].lstrip('/'),
|
|
"image": container['Image'],
|
|
"created": datetime_from_timestamp(container['Created']),
|
|
"status": container['Status'],
|
|
"labels": container['Labels'],
|
|
}
|
|
containers_list.append(container_data)
|
|
return containers_list
|
|
|
|
def get_container_image_status(self, endpoint_id, container_id):
|
|
status = self.portainer.containers.get_container_image_status(endpoint_id, container_id)
|
|
return status
|