Ошибки загрузки и настройки контейнеров RiCoder в Docker
1. Ошибка загрузки контейнеров в Docker
0писаны ошибки, связанные с загрузкой и запуском контейнеров RiCoder в Docker.
Случай 1. Контейнеры RiCoder не запустились в Docker
Решение для ОС Windows
Запустите контейнеры вручную в Docker Desktop:
- Откройте панель Containers в Docker Desktop.
- В панеле Containers в столбце Actions нажмите Start (пиктограмма треугольник) у незапущенных контейнеров. При успешном старте контейнера статус изменяется на running (пиктограмма квадрат). Исключение - контейнер базы данных migrate-1. Он должен быть загружен - статус Created или Exited , но может быть незапущен.
- Перезагрузите сервер. Это обязательное условие для успешной загрузки контейнеров.
- Откройте Docker Desktop -> панель Containers -> статус контейнеров должен измениться на Started.
Удалите контейнеры из Docker Desktop и повторите установку RiCoder снова.
- Откройте панель Containers в Docker Desktop
- В панеле Containers в столбце Actions нажмите Stop -> Delete у контейнеров RiCoder (chop).
- Перезагрузите сервер.
- Откройте Docker Desktop или убедитесь, что он запущен
- Запустите мастер установки RiCoder и пройдите шаги диалога заново.
Подробная диагностика статуса контейнера в командной строке:
1. Откройте командную строку.
2. Введите команду docker ps - вывод списка запущенных контейнеров Docker и их ключевых параметров.
3. В столбце STATUS указано текущее состояние контейнера.
Решение для ОС Linux
Контейнеры RiCoder не запускаются, падают, не видят файлы, не поднимаются сервисы и т.п.
Проверьте, что Docker работает, введите команду:
docker run hello-world1. Docker не работает: появилось сообщение вида "Cannot connect to the Docker daemon". Docker не запущен или нет прав на запуск Docker.
# Запустите демон Docker
sudo systemctl start docker
# Включите автозапуск, чтобы при старте системы Docker запускался автоматически
sudo systemctl enable docker
# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER
# Выйдите и зайдите заново или перезагрузите систему
reboot2. Docker работает: появилось приветственное сообщение.
Причина сбоя при запуске контейнеров связана с образами RiCoder или их конфигурацией.
2.1 Проверьте статус контейнеров RiCoder:
docker ps -aЕсли статус:
- Exited (1), Exited (127) и т.п. — контейнер упал при запуске,
- Created — создан, но не запущен,
- Restarting — пытается перезапуститься.
docker start <chop_название контейнера>2.3. Перезагрузите docker daemon
sudo systemctl restart dockerСлучай 2. Docker не может загрузить контейнеры из-за нехватки ресурсов
Ошибка возникает из-за нехватки памяти, CPU или дискового пространства на сервере.
Решение для ОС Windows
- Проверьте выделенные ресурсы в Docker Desktop.
- Перейдите в Settings -> Resources.
- Увеличьте лимиты RAM/CPU или остановите ненужные контейнеры, которые не относятся к контейнерам chop.
- Перейдите в панель Container.
- Перезапустите контейнеры chop. Нажмите Stop -> Start у соответствующих контейнеров.
- При необходимости перезапустите сервер.
Решение для ОС Linux
1. Проверьте выделенные ресурсы системы (RAM, CPU).
Выполните команду:
htopУбедитесь, что у системы достаточно свободной памяти и CPU. Требования к ресурсам для RiCoder.
2. Если ресурсов не хватает, остановите лишние контейнеры (не относящиеся к RiCoder).
# Посмотрите список всех контейнеров Docker
docker ps
# Остановите лишние:
docker stop имя_контейнера
# Перезапустите контейнеры RiCoder
docker restart <chop_имя контейнера> <chop_имя контейнера> <chop_имя контейнера>
# Перезапустите Docker
sudo systemctl restart dockerСлучай 3. Проблемы с сетью
Docker не может загрузить зависимости контейнеров из-за блокировки брандмауэром или прокси. Для проверки работы сетевых настроек выполните процедуру аутентификации в Docker-реестре Яндекса (Container Registry) с использованием сервисного аккаунта.
Убедитесь, что файл ключа авторизации к реестру находится в директории /CHOP_DEPLOY/. Если файл отсутствует в указанной папке, диагностика сетевых неисправностей будет некорректной, а вместо этого возникнет ошибка, связанная с отсутствием прав доступа к репозиторию Яндекс.
Выполните диагностику проблем с сетью.
Решение для ОС Windows
Docker не может загрузить контейнеры из-за блокировки брандмауэром или прокси.
1. Убедитесь, что ваш компьютер может обращаться к Docker-реестру Яндекса. Откройте командную строку.
2. Введите команду:
ping cr.yandexЕсли пинг не проходит → проблема с интернет-подключением или DNS.
3. Временно отключите брандмауэр и антивирус. Иногда брандмауэр блокирует Docker. Откройте Панель управления → Брандмауэр Защитника Windows → Дополнительные параметры.
4. Отключите брандмауэр для частной и публичной сети.
5. Попробуйте запустить Docker Desktop.
Если Docker заработал, то настройте исключения в брандмауэре для docker.exe
6. Проверьте, какие прокси используются в системе:
Откройте PowerShell и введите команду:
netsh winhttp show proxyЕсли требуется прокси, настройте его в файле ~/.docker/config.json.
Решение для ОС Linux
1. Проверьте подключение к реестру Яндекс. Введите команду:
docker pull cr.yandex/crp9t9tcd2mq4pdn52fm/ chop-deploy-eqgateway-1
# cr.yandex - адрес реестра Яндекс
# crp9t9tcd2mq4pdn52fm - идентификатор проекта (“id” в json файле ключа авторизации.
# chop-deploy-eqgateway-1 - имя образа контейнера2. Если получена ошибка вида no such host - Docker не может найти хост реестра Яндекс. Есть проблема с сетью или DNS.
level=info msg="Error logging in to endpoint, trying next endpoint" error="Get \"https://cr.yandex/v2/\": dial tcp: lookup cr.yandex: no such host"
Get "https://cr.yandex/v2/": dial tcp: lookup cr.yandex: no such host3. Проверьте подключение к репозиторию Яндекс. Выполните команду:
ping cr.yandex- DNS и сеть работают - видите ответы, например: 64 bytes from...
- Проблема с DNS или интернетом - видите ответы ping: unknown host или 100% packet loss
4. Дополнительно проверьте DNS. Введите команду:
nslookup cr.yandex.ruЕсли ошибка — проблема в сети, DNS или прокси.
5. Проверьте, не блокирует ли брандмауэр соединение Ubuntu по умолчанию использует UFW (Uncomplicated Firewall). Выполните команду для проверки статус UFW:
sudo ufw status6. Временно отключите UFW для теста:
sudo ufw disable7. Попробуйте снова:
docker pull hello-world- Если заработало — значит, что брандмауэр заблокировал Docker.
- Если нет — проблема не в нём.
8. После проверки включите обратно ufw:
sudo ufw enable9. Дайте разрешение Docker в брандмауэре:
sudo ufw allow out 443/tcp # HTTPS (для Docker Hub)
sudo ufw allow out 53 # DNSВозможны и другие менее распространенные ошибки Docker, связанные с сетевым подключением. Подробнее см. в официальной документации Docker.
Случай 4. Баг Docker Desktop. Ошибка GUI
- Перезапустите Docker Desktop.
- Обновитесь до последней версии.
2. Docker не может установить соединение с хостом RiCoder
Docker не может привязать порт контейнера к определённому IP-адресу и порту на сервере на котором разворачивается ПО RiCoder.
Текст ошибки: Error response from daemon: ports are not available: exposing port TCP 192.168.1.4:2180 -> 127.0.0.1:0: listen tcp4 192.168.1.4:2180: can't bind on the specified endpoint
Причина появления ошибки
IP-адрес сервера для установки RiCoder указан неверно.
Решение
Решение для ОС Windows
- Закройте мастер установки.
- Запустите мастер установки снова и пройдите шаги диалога.
- Введите корректный IP-адрес сервера.
Как узнать IP-адрес сервера в локальной сети в ОС Windows 10/11?
Через командную строку:
1. Откройте командную строку и введите команду:
ipсonfig2. Найдите строку с IPv4-адрес (в разделе Ethernet или Wi-Fi) - это IP-адрес сервера.
Через параметры сети:
- Откройте Параметры Windows→ Сеть и Интернет.
- Выберите Ethernet или Wi-Fi → Свойства подключения.
- Найдите строку IPv4-адрес - IP-адреc сервера.
Решение для ОС Linux
1. Закройте мастер установки.
2. Запустите мастер установки снова и пройдите шаги диалога.
./launcher_linux3. Введите корректный IP-адрес сервера.
Как узнать IP-адрес сервера в локальной сети в Linux?
1. Откройте терминал и введите команду:
ip a2. Найдите строку с inet - это IP-адрес сервера.
3. Docker не может установить соединение с портом RiCoder
При попытке запуска контейнеров RiCoder произошла ошибка, связанная с сетевым подключением. Система не может назначить контейнеру порт, потому что он уже используется другим процессом или запущенным контейнером.
Текст ошибки: Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint chop-eqgateway-1 (a215fcac0b259cd7f15e50939ce5456a62f6707a526204307847ac88a3133bd0): Bind for 0.0.0.0:8080 failed: port is already allocated
Причины появления ошибки
Причина | Решение |
1. Введен неверный порт. Порт занят другим процессом. 2. Не хватает прав доступа. Например, при попытке привязать порт ниже 10000. | 1. Закройте мастер установки. 2. Запустите мастер установки снова и пройдите шаги диалога. 3. Введите номер порта в диапазоне от 10000 до 65535, не занятый другим процессом. |
Как определить процесс, занимающий указанный порт в Windows?
1. Закройте мастер установки.
2. Откройте PowerShell.
3. Проверьте, какой процесс использует порт, например 10101. Введите команду:
netstat -ano | findstr :10101
# 10101 - порт, указанный при установке RiCoder.4. Запустите мастер установки снова.
5. Пройдите шаги диалога и укажите свободный порт в диапазоне от 10000 до 65535.
Как проверить статусы портов сервера в Windows?
1. Откройте PowerShell.
2. Введите команду:
netstat -an3. Проверьте список портов. Порты со статусом LISTENING - заняты.
4. Выберите свободный порт, который не отображается в списке или не используется другим сервисом, для установки RiCoder. Это гарантирует успешный запуск RiCoder без конфликтов.
Как определить процесс, занимающий указанный порт в Linux?
1. Закройте мастер установки
2. Проверьте, какой процесс использует порт, например 10101
sudo lsof -i :101013. Запустите мастер установки снова.
./launcher_linux4. Пройдите шаги диалога и укажите свободный порт в диапазоне от 10000 до 65535.
Как проверить статусы портов сервера в Linux?
1. Введите команду:
sudo ss -tulnp
# или
sudo netstat -tulnp2. Проверьте список портов. Порты со статусом LISTENING - заняты.
3. Выберите свободный порт, который не отображается в списке или не используется другим сервисом, для установки RiCoder. Это гарантирует успешный запуск RiCoder без конфликтов.
4. Docker не запущен
Мастер установки не может установить контейнеры RiCoder так как Docker не запущен.
Текст ошибки: unable to get image 'cr.yandex/crplu9iv3k90kbpg8iki/server-prod:2025-04-28-dd2b15c': error during connect: in the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.49/images/cr.yandex/crplu9iv3k90kbpg8iki/server-prod:2025-04-28-dd2b15c/json": open //./pipe/docker_engine: The system cannot find the file specified.
Причина появления ошибки
Docker Desktop не запущен. Docker должен быть запущен при установке и работе RiCoder - это обязательное условие.
Решение для ОС Windows
- Закройте мастер установки.
- В панели уведомлений Windows (правый нижний угол экрана) найдите значок Docker (белый логотип кита).
- Если значок отображается - Docker запущен.
- Запустите мастер установки снова и пройдите шаги диалога.
Также вы можете проверить статус Docker Engine через интерфейс Docker Desktop. В меню Docker Desktop (иконка кита в левом нижнем углу экрана), должен быть статус - Engine running.
Решение для ОС Linux
1. Закройте мастер установки.
2. Запустите Docker командой:
systemctl start docker3. Запустите мастер установки снова и пройдите шаги диалога.
./launcher_linuxКак проверить статус работы Docker?
Выполните команду в терминале
sudo systemctl status docker- Если статус active (running) — Docker запущен и работает.
- Если статус inactive (dead) — Docker остановлен и требует запуска.
5. Ошибка обновления при работающем Docker и RiCoder
Мастер установки не может корректно установить обновление RiCoder. Появляется сообщение, что порт занят, при этом выполнены условия:
- Docker запущен;
- RiCoder запущен в браузере и работает.
Текст ошибки: Error response from daemon: ports are not available: exposing port TCP 192.168.1.16:2180 -> 127.0.0.1:0: listen tcp4 192.168.1.4:2180: can't bind on the specified endpoint
Причина появления ошибки
Усовершенствование механизма обновления находится в разработке. В следующей версии мастера установки будут внесены изменения для устранения этой ошибки.
Решение
Скачайте последний релиз мастера установки с официального сайта и попробуйте выполнить обновление снова.
Дата обновления: 29.09.2025




