Docker и образ OpenCode: установка, запуск без sudo, скачивание и проверка

Введение

Эта статья — часть большого руководства OpenCode в Docker на Ubuntu 24.04.

Руководство показывает, как запускать OpenCode с флагом --auto внутри контейнера Docker.

С --auto агент не спрашивает вас перед каждой командой, поэтому контейнер ограничивает то, до чего он может достать: агент работает только в одном git worktree, отдельной копии проекта.

Эта статья — шаг 1 (Docker и образ OpenCode) руководства полностью.

Перед началом нужны две вещи: Docker на вашем компьютере и официальный образ OpenCode той же версии, что и используемый вами OpenCode.

Ваш собственный образ из шага 3 (образ) собирается поверх этого образа. Команды приведены для Ubuntu 24.04.

Установка Docker

Docker из репозитория Ubuntu вполне достаточно.

docker-buildx — это сборщик BuildKit: без него каждая сборка печатает DEPRECATED: The legacy builder is deprecated.

sudo apt update

sudo apt install docker.io docker-buildx

Docker без sudo

Чтобы запускать docker без sudo, добавьте себя в группу docker, а затем выйдите из системы и войдите снова:

sudo usermod -aG docker $USER

docker --version

Docker version 29.1.3, build 29.1.3-0ubuntu3~24.04.2

Скачивание образа OpenCode

Скачайте официальный образ OpenCode той версии, которая запущена у вас на хосте.

Он — основа вашего собственного образа из шага 3 (образ):

opencode --version

opencode v2.1.4

docker pull ghcr.io/anomalyco/opencode:2.1.4

docker run --rm ghcr.io/anomalyco/opencode:2.1.4 --version

opencode v2.1.4

Проверка, что есть и то и другое

Прежде чем перейти к шагу 2 (worktree для агента) из OpenCode в Docker на Ubuntu 24.04, проверьте и то и другое.

Тег в последней команде — это версия, которую вывела opencode --version:

docker --version

Docker version 29.1.3, build 29.1.3-0ubuntu3~24.04.2

opencode --version

opencode v2.1.4

docker image inspect --format '{{.RepoTags}}' ghcr.io/anomalyco/opencode:2.1.4

[ghcr.io/anomalyco/opencode:2.1.4]

Отсутствующий образ даёт ошибку и код выхода 1.

Проверено с тегом, которого нет:

docker image inspect --format '{{.RepoTags}}' ghcr.io/anomalyco/opencode:9.9.9

Error response from daemon: No such image: ghcr.io/anomalyco/opencode:9.9.9

Тогда скачайте его, как в разделе Скачивание образа OpenCode.

Когда вы обновляете OpenCode на хосте, скачайте новый тег и поменяйте FROM во всех Dockerfile этой настройки на него (страница Образ).

Автор статьи: Клавдия Кондакова