liveBook · Manning

Insecure registry

As explained in Learn Docker in a Month of Lunches, Second Edition

An insecure registry is a container registry accessed over unencrypted HTTP rather than HTTPS.

An insecure registry serves container images over plain HTTP instead of HTTPS. Docker blocks this by default, so you must explicitly allow the registry before pushing or pulling images. section 5.3

To use a local insecure registry:

  • Run the registry and give it a stable address such as registry.local:5010. section 5.3
  • Add the registry address to Docker's insecure-registries setting in daemon.json, or edit the Docker Engine settings in Docker Desktop. section 5.3
  • Restart Docker after changing the configuration, then use docker info to verify that the registry is permitted. section 5.3
  • Tag images with the registry address and push them using docker image push. section 5.3
{
    "insecure-registries":  [
        "registry.local:5010"
    ]
}

Use this Docker Engine configuration pattern to allow a local registry at registry.local:5010. section 5.3

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Explains the restriction, configuration paths, JSON setting, verification, and push workflow; stops short of HTTPS setup.
Examples
Uses registry.local:5010, daemon.json, docker info, and docker image push in a local registry workflow.
What it assumes
Assumes basic Docker image tagging and registry use while introducing Docker's explicit permission requirement for HTTP registries.
What you can do after
Operate/configure Docker to permit image pushes and pulls from a specified HTTP registry.
How it connects
Connects Docker Engine configuration with container registries, image tagging, image pushing, and Docker Desktop.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.