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:
|
||||
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(
|
||||
self, all: bool = False, filters: Optional[Dict[str, Any]] = None
|
||||
) -> List[DockerContainer]:
|
||||
|
||||
Reference in New Issue
Block a user