GoogleContainerTools/skaffold · error
creating skaffold network %s: %w
Error message
creating skaffold network %s: %w
What it means
The local docker action exec environment (pkg/skaffold/actions/docker) creates a dedicated Docker network named after the skaffold run before executing custom actions. If docker NetworkCreate fails, PrepareActions aborts with this wrapped error. It surfaces underlying Docker daemon/network-driver failures.
Source
Thrown at pkg/skaffold/actions/docker/exec_env.go:112
}
return &ExecEnv{
logger: l,
client: client,
tracker: tracker,
portManager: dockerport.NewPortManager(),
pResources: resources,
network: network,
shouldCreateNetwork: shouldCreateNetwork,
acsCfgByName: acsCfgByName,
envVars: envVars,
}, nil
}
func (e ExecEnv) PrepareActions(ctx context.Context, out io.Writer, allbuilds, _ []graph.Artifact, acsNames []string) ([]actions.Action, error) {
if e.shouldCreateNetwork {
if err := e.client.NetworkCreate(ctx, e.network, nil); err != nil {
return nil, fmt.Errorf("creating skaffold network %s: %w", e.network, err)
}
}
e.logger.Start(ctx, out)
return e.createActions(ctx, out, allbuilds, acsNames)
}
func (e ExecEnv) Cleanup(ctx context.Context, out io.Writer) error {
if !e.shouldCreateNetwork {
return nil
}
if err := e.client.NetworkRemove(ctx, e.network); err != nil {
return errors.Wrap(err, "cleaning up skaffold created network")
}
return nilView on GitHub (pinned to a1189de023)
Solutions
- Verify Docker is running: docker info; start Docker Desktop or the dockerd service if not.
- Check for a conflicting existing network (docker network ls | grep <network>) and remove stale ones with docker network rm.
- Confirm your docker context/DOCKER_HOST points at the intended daemon and that the bridge network driver is available.
Example fix
// before docker network rm skaffold-network # stale network from previous failed run skaffold verify ... // after docker network ls # confirm clean state, then rerun skaffold verify ...
Defensive patterns
Strategy: try-catch
Validate before calling
// Verify daemon reachable and no conflicting network before running actions docker info > /dev/null && ! docker network inspect skaffold-network > /dev/null 2>&1
Try / catch
try {
await skaffold.verify(...);
} catch (e) {
if (/creating skaffold network/.test(String(e))) {
execSync('docker network prune -f'); // clear stale networks then retry once
await skaffold.verify(...);
return;
}
throw e;
} Prevention
- Ensure Docker Desktop/dockerd is running before invoking skaffold actions
- Prune stale skaffold networks after crashed runs (docker network rm)
- Keep DOCKER_HOST/docker context consistent across build and verify steps
When it happens
Trigger: Running skaffold actions locally (verify/run with local execution mode) where e.client.NetworkCreate fails — Docker daemon unreachable, network name already exists with conflicting config, or no bridge driver available.
Common situations: Docker Desktop not running; docker context pointing at a remote daemon that rejects network creation; leftover network from a previous crashed run with the same name; rootless-docker limitations.
Related errors
- getting imageID for %q: %w
- %q running container image %q errored during run with status
- docker deployment not supported alongside cluster deployment
- INIT_DOCKER_NETWORK_CONTAINER_DOES_NOT_EXIST
- executing build: %w
AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05).
Data as JSON: /api/errors/ca241bd8a47c27a1.
Report an issue: GitHub.