В условиях блокировки docker.io на территории РФ необходимо найти способы, чтобы продолжить использование Docker и Kubernetes (k3s) без значительных изменений в рабочих процессах. Рассмотрим, как настроить зеркалирование Docker Hub, чтобы продолжить работу с репозиторием.
Какие зеркала безопасно использовать?
При выборе зеркал для Docker Hub важно учитывать их надежность и безопасность. Ниже приведены надежные зеркала, которые можно использовать:
- https://mirror.gcr.io - зеркало от Google
- https://dockerhub.timeweb.cloud - зеркало от компании Timeweb
- https://dockerhub1.beget.com - зеркало компании Бегет
- https://quay.io - зеркало Quay.io (redhat)
- https://public.ecr.aws - зеркало Amazon Elastic Container Registry
- https://ghcr.io - зеркало GitHub Container Registry
Зеркалирование Docker Hub
Адреса зеркал необходимо указать в конфигурационном файле /etc/docker/daemon.json
. Если этого файла нет в системе, просто создайте его.
Откройте файл любым удобным текстовым редактором, например, nano
:
nano /etc/docker/daemon.json
После добавьте в него следующее содержимое с ключом "registry-mirrors"
:
{
"registry-mirrors": [
"https://dockerhub.timeweb.cloud",
"https://dockerhub1.beget.com",
"https://mirror.gcr.io",
"https://ghcr.io",
"https://quay.io",
"https://public.ecr.aws"
]
}
Перезапустите Docker:
sudo systemctl restart docker
Зеркалирование Docker Hub для k3s
K3s хранит конфигурацию репозиториев в /etc/rancher/k3s/registries.yaml
. По умолчанию файла нет в системе, его также нужно создать.
Откройте файл любым текстовым редактором, например, nano
:
nano /etc/rancher/k3s/registries.yaml
После добавьте в него следующее содержимое:
mirrors:
docker.io:
endpoint:
- "https://dockerhub.timeweb.cloud",
- "https://dockerhub1.beget.com",
- "https://mirror.gcr.io",
- "https://ghcr.io",
- "https://quay.io",
- "https://public.ecr.aws"
Перезапустите k3s:
sudo systemctl restart k3s
После перезапуска k3s будет использовать указанные в конфигурации зеркала.
Настройка требует минимальных изменений в конфигурациях и позволяет продолжать использовать привычные рабочие процессы с контейнерами в условиях блокировки внешних ресурсов.