Discourse_theme не интерактивен при запуске внутри контейнера Docker

Привет! Во-первых, я бы предпочёл возможность отправить этот отчёт об ошибке напрямую в репозиторий: GitHub - discourse/discourse_theme: CLI helper for developing Discourse themes · GitHub, так как не уверен, что нахожусь здесь в нужном месте.

discourse_theme — это инструмент на Ruby, но я не хочу устанавливать Ruby на свой компьютер. Кроме того, чтобы обеспечить единообразие версий Ruby во всей моей команде, я создал этот Docker-образ:

# syntax = docker/dockerfile:1.10

# Убедитесь, что RUBY_VERSION совпадает с версией Ruby в файлах .ruby-version и Gemfile
ARG RUBY_VERSION=3.4.2
ARG ALPINE_VERSION=3.20
FROM ruby:$RUBY_VERSION-alpine${ALPINE_VERSION}

# Установка пакетов
RUN --mount=type=cache,id=dev-apk-cache,sharing=locked,target=/var/cache/apk \
  --mount=type=cache,id=dev-apk-lib,sharing=locked,target=/var/lib/apk \
  apk add \
  ca-certificates \
  bash \
  tzdata \
  xz-libs \
  gcompat \
  zstd-libs \
  libpq

RUN gem install discourse_theme

ENTRYPOINT ["discourse_theme"]

Запускать его можно так:

# Сначала сборка
docker build -t discourse_theme:latest .

# Запуск в режиме наблюдения
docker run -i -t --rm -v $(pwd):/root -w /root discourse_theme:latest watch .

Проблема, о которой я хочу сообщить здесь, касается интерактивности CLI.

В Docker нет поддержки взаимодействия с клавиатурой.

Я вижу это при запуске:

Если я нажимаю стрелку, сообщение о помощи исчезает, но выделенная зелёным опция «selected» никогда не перемещается:

Поэтому я считаю, что это ошибка в Gem. Он обнаружил нажатие клавиши, но не переместил выделение. Я протестировал множество нажатий клавиш.

Другой тест, который я провёл: запустил bash внутри образа и запустил discourse_theme оттуда, но проблема осталась той же.

$ docker run -it --rm -v $(pwd):/root -w /root --entrypoint /bin/bash discourse_theme:latest
9f5736f3265e:~# discourse_theme watch .

Это нормальное поведение для CLI-инструментов на Ruby или здесь есть ошибка? Спасибо.