fix: add missing _get_container_info method to AsyncDockerClient
docker_service.get_container_info() was calling self._docker_client._get_container_info() but AsyncDockerClient didn't have this method, causing silent AttributeError and returning None, which triggered false health check failures. Added _get_container_info() using aiodocker's container.show() to properly retrieve container state information for health monitoring.
This commit is contained in:
@@ -199,6 +199,23 @@ class AsyncDockerClient:
|
|||||||
except DockerError:
|
except DockerError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
async def _get_container_info(self, container_id: str) -> Optional[Dict[str, Any]]:
|
||||||
|
"""
|
||||||
|
Get detailed container information (equivalent to docker inspect).
|
||||||
|
|
||||||
|
Returns the full container info dict including State, Config, etc.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
container = await self._docker.containers.get(container_id)
|
||||||
|
if container:
|
||||||
|
# show() returns the full container inspect data
|
||||||
|
return await container.show()
|
||||||
|
except DockerError as e:
|
||||||
|
logger.debug(f"Failed to get container info for {container_id}: {e}")
|
||||||
|
except Exception as e:
|
||||||
|
logger.debug(f"Unexpected error getting container info: {e}")
|
||||||
|
return None
|
||||||
|
|
||||||
async def list_containers(
|
async def list_containers(
|
||||||
self, all: bool = False, filters: Optional[Dict[str, Any]] = None
|
self, all: bool = False, filters: Optional[Dict[str, Any]] = None
|
||||||
) -> List[DockerContainer]:
|
) -> List[DockerContainer]:
|
||||||
|
|||||||
Reference in New Issue
Block a user