75 lines
5.5 KiB
Markdown
75 lines
5.5 KiB
Markdown
# Если образы или зависимости не скачиваются
|
|
|
|
Доступность репозиториев зависит от сети и провайдера, в том числе в РФ.
|
|
GHCR выбран основным источником MinIO, чтобы его загрузка не зависела от Docker
|
|
Hub. Это не гарантия доступности без VPN у каждого провайдера: у стенда остаются
|
|
другие внешние зависимости. Для первой сборки и скачивания датасета нужен интернет.
|
|
|
|
## Сначала найди источник ошибки
|
|
|
|
Запускай команды в терминале хоста, из корня репозитория:
|
|
|
|
```bash
|
|
docker compose pull minio minio-init postgres trino
|
|
docker compose --progress plain build
|
|
```
|
|
|
|
Если первая команда завершилась с ошибкой, сначала реши проблему загрузки образа.
|
|
Если ошибка возникла во второй, найди имя сервиса и адрес, с которого скачивался
|
|
файл. Открывающийся в браузере сайт ещё не подтверждает доступ из Docker.
|
|
|
|
| Где возникла ошибка | Что скачивается | Что проверить |
|
|
| --- | --- | --- |
|
|
| `ghcr.io` при загрузке `minio` | Готовые MinIO и `mc` | Резервный источник ниже |
|
|
| `docker.io`, `registry-1.docker.io`, `auth.docker.io` | PostgreSQL, Trino, базовый Spark; резерв MinIO | Доступ Docker к Docker Hub и настройки прокси |
|
|
| Ubuntu archive, PyPI, Maven Central при сборке `spark` или `jupyter` | Системные пакеты, Python-пакеты и JAR | Доступ к зависимостям из сборки |
|
|
| GitHub Releases, Open VSX при сборке `ide` | code-server и расширения | Доступ к зависимостям из сборки |
|
|
|
|
## Резервный источник MinIO
|
|
|
|
Автор образа публикует его в двух местах: GHCR и Docker Hub. В обоих закреплён
|
|
один digest, поэтому смена registry не меняет версию или содержимое образа.
|
|
Ссылка на сборку и версия приведены в [техническом reference](./stack_reference.md#minio).
|
|
|
|
Если GHCR недоступен, создай файл `.env` в корне репозитория и добавь строку:
|
|
|
|
```dotenv
|
|
MINIO_REGISTRY=docker.io
|
|
```
|
|
|
|
Если файл уже существует, измени только эту настройку. Другие значения, например
|
|
`NB_UID` и `NB_GID`, сохрани. Затем повтори:
|
|
|
|
```bash
|
|
docker compose pull minio minio-init
|
|
```
|
|
|
|
Дальше используй обычные команды из [START_HERE](../START_HERE.md#быстрый-запуск).
|
|
Для возврата к основному источнику установи `MINIO_REGISTRY=ghcr.io`.
|
|
Оба источника публичные; регистрация для скачивания MinIO не требуется.
|
|
`.env.example` содержит пример настроек, а `.env` исключён из Git.
|
|
|
|
## Если недоступны другие источники
|
|
|
|
Переключение MinIO не меняет источник PostgreSQL, Trino, Spark или зависимостей
|
|
сборки. Если в твоей сети нужен VPN или HTTP-прокси, важно, чтобы им мог
|
|
пользоваться Docker, а не только браузер.
|
|
|
|
- **Docker Desktop:** настрой прокси в разделе **Settings → Resources → Proxies**.
|
|
См. [официальную инструкцию](https://docs.docker.com/desktop/settings-and-maintenance/settings/#proxies).
|
|
- **Docker Engine на Linux:** скачиванием образов занимается демон Docker.
|
|
Для него есть [отдельная настройка прокси](https://docs.docker.com/engine/daemon/proxy/).
|
|
- **Команды внутри сборки:** `apt`, `pip`, `curl` и установка расширений требуют
|
|
доступа из build-контейнера. Docker описывает
|
|
[настройки прокси для сборок](https://docs.docker.com/engine/cli/proxy/#build-with-a-proxy-configuration)
|
|
отдельно от настроек демона. Прокси на `localhost` хоста не обязательно
|
|
доступен как `localhost` внутри контейнера.
|
|
|
|
Ошибка `429` обычно означает лимит запросов, а `401`/`403` может быть связана
|
|
с доступом к registry. Сам по себе этот код не доказывает блокировку по стране.
|
|
Не меняй версии образов и не удаляй данные стенда для исправления сетевой ошибки.
|
|
|
|
Если нужна помощь, передай ментору ОС, вывод `docker compose version`, команду,
|
|
имя сервиса и фрагмент ошибки с адресом источника. Пароли и адреса прокси
|
|
с учётными данными в сообщение не добавляй.
|