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"
}