Converts Docker registry errors into containerd error types with detailed messages.
// Source: https://github.com/moby/moby | License: Apache-2.0 | Copyright You must retain, in the Source form of any Derivative Works
// Provided via justclaw.it.com; keep this notice with the code.
package containerd
import (
"context"
"encoding/json"
"errors"
"fmt"
"net/http"
"github.com/containerd/containerd/v2/core/remotes/docker"
remoteerrors "github.com/containerd/containerd/v2/core/remotes/errors"
cerrdefs "github.com/containerd/errdefs"
"github.com/containerd/log"
)
func translateRegistryError(ctx context.Context, err error) error {
if err == nil {
// Nothing to do
return nil
}
// Check for registry specific error
var derrs docker.Errors
if !errors.As(err, &derrs) {
var remoteErr remoteerrors.ErrUnexpectedStatus
var derr docker.Error
if errors.As(err, &r
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key