251006_docker

Отлично, рад что сдвинулось! Теперь разберём две вещи: почему контейнер сразу упал и справку по Docker.


Почему контейнер не запущен

Скорее всего, zeptoclaw gateway без настроенного провайдера падает сразу при старте — в логах должна быть ошибка. Вы не успели посмотреть логи.

Проверьте:

docker logs zeptoclaw-agent-a

Типичные причины:

  1. Нет config.json с API-ключом — gateway не может стартовать без провайдера.

  2. Нет переменных окружения (Telegram-токен и т.п.) — для gateway нужен хотя бы один канал.

  3. Порт занят — если gateway пытается слушать порт.

Правильный порядок действий для ZeptoClaw:

Сначала — onboard (интерактивная настройка), потом — gateway. Но onboard требует работающего контейнера с shell. Поэтому проще так:

Вариант 1. Запустить с sleep infinity, настроить внутри, потом запустить gateway:

# Удалить упавший контейнер docker rm zeptoclaw-agent-a # Запустить с shell, который не завершится docker run -d --name zeptoclaw-agent-a \ -v ~/zeptoclaw-data:/root/.zeptoclaw \ ghcr.io/qhkm/zeptoclaw:latest \ sleep infinity # Войти внутрь docker exec -it zeptoclaw-agent-a sh # Внутри контейнера: zeptoclaw onboard # или вручную создать /root/.zeptoclaw/config.json exit # Теперь перезапустить с gateway docker stop zeptoclaw-agent-a docker rm zeptoclaw-agent-a docker run -d --name zeptoclaw-agent-a \ -v ~/zeptoclaw-data:/root/.zeptoclaw \ ghcr.io/qhkm/zeptoclaw:latest \ zeptoclaw gateway

Вариант 2. Проще для теста — CLI-режим вместо gateway:

docker rm zeptoclaw-agent-a docker run -it --rm \ -v ~/zeptoclaw-data:/root/.zeptoclaw \ ghcr.io/qhkm/zeptoclaw:latest \ zeptoclaw agent --template researcher -m "Hello"

Одноразовый запуск — контейнер стартует, выполняет задачу, выходит. Если нужен onboard — сначала прогоните zeptoclaw onboard в интерактивном режиме (-it), а потом уже agent.

Важно: zeptoclaw gateway --containerized внутри уже запущенного Docker-контейнера работать не будет (Docker-in-Docker без спецнастройки). Для тестов используйте вариант без --containerized.


Справка: 10 самых полезных команд Docker

#

Команда

Что делает

1

docker ps -a

Показать все контейнеры (включая остановленные). Без -a — только запущенные.

2

docker logs -f <name>

Смотреть логи контейнера в реальном времени (-f = follow).

3

docker exec -it <name> sh

Войти внутрь работающего контейнера (shell).

4

docker run -d --name X -v host:cont image cmd

Запустить контейнер в фоне (-d), с именем, с монтированием volume.

5

docker stop <name>

Остановить контейнер (SIGTERM, потом SIGKILL через 10 сек).

6

docker start <name>

Запустить остановленный контейнер с теми же настройками.

7

docker rm <name>

Удалить остановленный контейнер (данные в volume остаются).

8

docker images

Список локальных образов.

9

docker pull <image>

Скачать/обновить образ.

10

docker inspect <name>

Показать всё о контейнере в JSON: IP, mounts, env, состояние.

Бонус — часто нужное:

  • docker rm -f <name> — удалить даже запущенный (force).

  • docker system prune -a — почистить всё неиспользуемое (осторожно: удалит образы и volumes).

  • docker cp <name>:/path ./local — скопировать файл из контейнера.

Порядок работы с ZeptoClaw:

docker logs zeptoclaw-agent-a # 1. Посмотреть, почему упал docker rm -f zeptoclaw-agent-a # 2. Убрать мусор docker run -it --rm -v ~/zeptoclaw-data:/root/.zeptoclaw \ ghcr.io/qhkm/zeptoclaw:latest zeptoclaw onboard # 3. Настроить docker run -d --name zeptoclaw-agent-a \ -v ~/zeptoclaw-data:/root/.zeptoclaw \ ghcr.io/qhkm/zeptoclaw:latest zeptoclaw gateway # 4. Запустить gateway

Проверка яндекс токенов из командной строки

YANDEX_FOLDER_ID=b1g6p77ueu8g3vkat3at YANDEX_KEY_ID=aje095c5eiohjlmhitll YANDEX_API_KEY=AQVNwElYV0sRnW0ZdrVAK60LHOTpUHwO5Qq4tJIz

a@amd7:~$ curl -s http://localhost:8520/v1/chat/completions \ -H "Authorization: Bearer sk-y2o-4637ec8a-4e99-4706-90a0-6d8e6f33e7cc" \ -H "Content-Type: application/json" \ -d '{ "model": "yandexgpt/latest", "messages": [{"role": "user", "content": "Привет!"}] }' | jq . { "id": "y2o-a9b7ba70783b617e9998dc4dd82eb3c51791295138", "model": "yandexgpt/latest-09-02-2025", "object": "chat.completion", "created": 1791295138, "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Здравствуйте! Чем я могу вам помочь?" }, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 12, "completion_tokens": 8, "total_tokens": 20 }, "system_fingerprint": "fp_a9b7ba70783b617e9998dc4dd82eb3c5" }