докер не может запустить vscodium
У меня немного своеобразная ситуация, я создал файл докеров, который «работает», если бы не некоторые проблемы. Вот «рабочая» версия:
ARG IMGVERS=latest
FROM bensuperpc/tinycore:${IMGVERS}
LABEL maintainer "Vinnie Costante <****@gmail.com>"
ARG DOWNDIR=/tmp/download
ARG INSTDIR=/opt/vscodium
ARG REPOAPI="https://api.github.com/repos/VSCodium/vscodium/releases/latest"
ENV LANG=C.UTF-8 LC_ALL=C PATH="${PATH}:${INSTDIR}/bin/"
RUN tce-load -wic Xlibs nss gtk3 libasound libcups python3.9 tk8.6 \
&& rm -rf /tmp/tce/optional/*
RUN sudo ln -s /lib /lib64 \
&& sudo ln -s /usr/local/etc/fonts /etc/fonts \
&& sudo mkdir -p ${DOWNDIR} ${INSTDIR} \
&& sudo chown -R tc:staff ${DOWNDIR} ${INSTDIR}
#COPY VSCodium-linux-x64-1.57.1.tar.gz ${DOWNDIR}/
RUN wget http://192.168.43.6:8000/VSCodium-linux-x64-1.57.1.tar.gz -P ${DOWNDIR}
RUN tar xvf ${DOWNDIR}/VSCodium*.gz -C ${INSTDIR} \
&& rm -rf ${DOWNDIR}
CMD ["codium"]
Проблемы следующие:
Запуск образа этой командой vscodium не запускается, а заходит в оболочку (добавление
/bin/ash
до конца запуска докера), а затем запускаетсяcodium
вместо вскодиума запускается. Пробовал много способов, даже менял точку входа, результат всегда один. Но если я попытаюсь добавить любую другую графическую программу (например, firefox) и заменить аргументCMD
инструкция внутри dockerfile, все работает как надо.docker run -it --rm \ --net=host \ --env="DISPLAY=unix${DISPLAY}" \ --workdir /home/tc \ --volume="$HOME/.Xauthority:/root/.Xauthority:rw" \ --name tc \ tinycodium
последние две версии codium (1.58.0 и 1.58.1) вообще не работают на докере, но нормально запускаются на том же дистрибутиве без контейнеров. Я пытался установить другие зависимости, но ничего не получилось. Прямо сейчас я не знаю, как понять, что не так с этими двумя новыми версиями.
Я не знаю, как установить громкость для сохранения данных кодиума, я пробовал что-то вроде этого
--volume=/home/vinnie/docker:/home/tc
но всегда есть проблемы с правами пользователя/группы. Я также пытался загрузить контейнер от имени пользователя, добавив его в группу докеров, но с разрешениями всегда неразбериха. Если бы кто-нибудь мог объяснить мне, как действовать, я хочу сохранить следующие каталоги:/home/tc/.vscode-oss /home/tc/.cache/mesa_shader_cache /home/tc/.config/VSCodium /home/tc/.config/glib-2.0/settings /home/tc/.local/share
1 ответ
Попробуйте запустить
codium --verbose
и посмотрите, запускается ли контейнер