
Всем привет! Не docker'ом единым мы живы. Хочу показать, какими ещё вариантами обхода блокировки Docker Hub в России пользуется наша команда.
cri-o
Добавьте в файл /etc/containers/registries.conf следующий блок:
[[registry]]
location = "docker.io"
[[registry.mirror]]
location = "mirror.gcr.io"
и перезагрузите cri-o. Можно не переживать за контейнеры, они ребутаться не будут.
containerd
Нужно добавить или отредактировать блок plugins в /etc/containerd/config.toml:[plugins]
[plugins."io.containerd.grpc.v1.cri"]
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io", "https://mirror.gcr.io"]
и перезагрузить containerd. Здесь тоже можно не переживать за запущенные контейнеры.
Kaniko
Если возникли проблемы при билде с помощью Kaniko, то можно решить проблему либо добавлением аргумента --registry-mirror mirror.gcr.io
, либо с помощью переменной окружения KANIKO_REGISTRY_MIRROR="mirror.gcr.io"
. Мы, например, вынесли её на уровень админки GitLab, чтобы вообще не трогать .gitlab-ci.yml, поэтому рекомендуем воспользоваться именно переменной для более комфортного обхода блокировки.