Skip to main content
Version: v2.1.x

CRI-O

Use dfget daemon as registry mirror for CRI-O

Step 1: Validate Dragonfly Configuration

To use dfget daemon as registry mirror, first you need to ensure configuration in /etc/dragonfly/dfget.yaml:

proxy:
security:
insecure: true
tcpListen:
listen: 0.0.0.0
port: 65001
registryMirror:
url: https://index.docker.io
proxies:
- regx: blobs/sha256.*

This will proxy all requests for image layers with dfget.

Step 2: Validate CRI-O Configuration

Then, enable mirrors in CRI-O registries configuration in /etc/containers/registries.conf:

[[registry]]
location = "docker.io"
[[registry.mirror]]
location = "127.0.0.1:65001"
insecure = true

Step 3: Restart CRI-O Daemon

systemctl restart crio

If encounter error like these: mixing sysregistry v1/v2 is not supported or registry must be in v2 format but is in v1, please convert your registries configuration to v2.

Step 4: Pull Image

You can pull image like this:

crictl pull docker.io/library/busybox

Step 5: Validate Dragonfly

You can execute the following command to check if the busybox image is distributed via Dragonfly.

grep "peer task done" /var/log/dragonfly/daemon/core.log

If the output of command above has content like

{
"level":"info",
"ts":"2022-09-07 12:04:26.485",
"caller":"peer/peertask_conductor.go:1500",
"msg":"peer task done, cost: 1ms",
"peer":"10.140.2.175-5184-1eab18b6-bead-4b9f-b055-6c1120a30a33",
"task":"b423e11ddb7ab19a3c2c4c98e5ab3b1699a597e974c737bb4004edeef6016ed2",
"component":"PeerTask"
}