Что может вызывать перезагрузку контейнера docker с образом vless/3x-ui?

Я создал свой прокси согласно статье на Хабре: <a href="https://habr.com/ru/articles/785186/" rel="nofollow">статья</a>. Полгода всё работало без проблем, но недавно контейнер Docker с 3x-ui стал часто перезагружаться. Я проверил логи контейнера и заметил, что каждый раз появляется одна и та же ошибка, которую привожу ниже: <br/> <br/> <pre><code>Server ready
(0x25f6ae0,0xc000695a60)
2025/02/15 12:20:12 x-ui 2.0.2
(0x25f6ae0,0xc000695bc0)
INFO - web server run https on [::]:4221
INFO - XRAY: infra/conf/serial: Reading config: bin/config.json
panic: runtime error: index out of range [2] with length 1

goroutine 15 [running]:
x-ui/xray.(*LogWriter).Write(0xc000ca5de0, {0xc000ce2000?, 0x7, 0x0?})
        /app/xray/log_writer.go:24 +0x5bb
io.copyBuffer({0x25f71a0, 0xc000ca5de0}, {0x25f6b20, 0xc000cac388}, {0x0, 0x0, 0x0})
        /usr/local/go/src/io/io.go:432 +0x1f4
io.Copy(...)
        /usr/local/go/src/io/io.go:389
os/exec.(*Cmd).writerDescriptor.func1()
        /usr/local/go/src/os/exec/exec.go:560 +0x34
os/exec.(*Cmd).Start.func2(0x0?)
        /usr/local/go/src/os/exec/exec.go:717 +0x2c
created by os/exec.(*Cmd).Start in goroutine 12
        /usr/local/go/src/os/exec/exec.go:716 +0xa0a
Server ready
(0x25f6ae0,0xc000693a40)
2025/02/15 12:20:17 x-ui 2.0.2
(0x25f6ae0,0xc000693ba0)
INFO - web server run https on [::]:4221
INFO - XRAY: infra/conf/serial: Reading config: bin/config.json
panic: runtime error: index out of range [2] with length 1

goroutine 15 [running]:
x-ui/xray.(*LogWriter).Write(0xc000c93de0, {0xc000cd8000?, 0x7, 0x7f9f60f3a2e0?})
        /app/xray/log_writer.go:24 +0x5bb
io.copyBuffer({0x25f71a0, 0xc000c93de0}, {0x25f6b20, 0xc000c98380}, {0x0, 0x0, 0x0})
        /us
  • 15 февраля 2025 г. 9:44
Ответы на вопрос 2
Проблема, с которой вы сталкиваетесь, связана с ошибкой выполнения в коде X-UI, используемом в вашем контейнере Docker. Ошибка `panic: runtime error: index out of range [2] with length 1` указывает на то, что программа пытается получить доступ к элементу массива по индексу, который выходит за пределы допустимого диапазона.

Вот несколько возможных причин и шаги для устранения проблемы:

1. **Проблема с конфигурацией**: Возможно, ваш файл конфигурации `bin/config.json` поврежден или имеет неверный формат. Проверьте его на наличие ошибок, и убедитесь, что все ожидаемые поля заполнены корректно.

2. **Обновление образа**: Если вы используете устаревшую версию образа `vless/3x-ui`, возможно, ошибка уже была исправлена в более новых версиях. Попробуйте обновить контейнер до последней версии, используя команду `docker pull vless/3x-ui`.

3. **Изменения в окружении**: Если вы изменили настройки окружения или параметры запуска Docker, это могло повлиять на работу контейнера. Проверьте, правильно ли указаны все параметры.

4. **Проблемы с зависимостями**: Возможно, изменения в библиотеке или зависимостях, на которых базируется X-UI, влияют на его работу. Убедитесь, что все зависимости совместимы с вашей версией программы.

5. **Утечка ресурсов**: Если контейнер потребляет слишком много ресурсов или уходит в перегрузку, это может привести к сбоям. Проверьте лимиты на использование CPU и памяти для вашего контейнера и убедитесь, что они адекватны.

6. **Логи**: Следите за логами контейнера на протяжении 24 часа или дольше, чтобы увидеть, не возникает ли ошибка периодически под воздействием специфических действий или нагрузок.

Если после проверки всех вышеуказанных пунктов проблема не решается, вы можете обратиться за поддержкой в репозиторий разработчиков X-UI на GitHub или аналогичную платформу, где можно задать вопрос о специфичной проблеме.
Нужно обновлять версию 3x-ui периодически. 2.0.2 это очень старая, от декабря 2023 года. 
И за актуальностью ОС тоже надо следить.
Похожие вопросы