// Get looks up the hosts containers with the specified ID // or name and returns it, or an error. func Get(ctx context.Context, clientInstance client.ContainerAPIClient, id string) (*types.ContainerJSON, error) { container, err := clientInstance.ContainerInspect(ctx, id) if err != nil { if client.IsErrContainerNotFound(err) { return nil, nil } return nil, err } return &container, nil }
func listContainers(ctx context.Context, dockerClient client.ContainerAPIClient) ([]dockerData, error) { containerList, err := dockerClient.ContainerList(ctx, dockertypes.ContainerListOptions{}) if err != nil { return []dockerData{}, err } containersInspected := []dockerData{} // get inspect containers for _, container := range containerList { containerInspected, err := dockerClient.ContainerInspect(ctx, container.ID) if err != nil { log.Warnf("Failed to inspect container %s, error: %s", container.ID, err) } else { dockerData := parseContainer(containerInspected) containersInspected = append(containersInspected, dockerData) } } return containersInspected, nil }