// GetContainer looks up the hosts containers with the specified ID // or name and returns it, or an error. func GetContainer(ctx context.Context, clientInstance client.APIClient, 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(dockerClient client.APIClient) ([]dockertypes.ContainerJSON, error) { containerList, err := dockerClient.ContainerList(context.Background(), dockertypes.ContainerListOptions{}) if err != nil { return []dockertypes.ContainerJSON{}, err } containersInspected := []dockertypes.ContainerJSON{} // get inspect containers for _, container := range containerList { containerInspected, err := dockerClient.ContainerInspect(context.Background(), container.ID) if err != nil { log.Warnf("Failed to inpsect container %s, error: %s", container.ID, err) } containersInspected = append(containersInspected, containerInspected) } return containersInspected, nil }