vv / Dockerfile
berryssx's picture
Upload Dockerfile
5379f92 verified
Raw
History Blame Contribute Delete
2.36 kB
# ==========================================
# Dockerfile для поднятия code-server (VS Code в браузере)
# на базе Ubuntu 24.04 с поддержкой Python и HF
# ==========================================
# Берем за основу чистую Ubuntu 24.04
FROM ubuntu:24.04
# Отключаем интерактивные запросы при установке пакетов (чтобы сборка не зависала в ожидании ввода)
ENV DEBIAN_FRONTEND=noninteractive
# Обновляем списки пакетов и ставим базовый софт:
# curl, sudo, git, wget, компиляторы (build-essential), python3 и pip.
# В конце чистим кэш apt, чтобы финальный образ не раздувался.
RUN apt-get update && apt-get install -y \
curl \
sudo \
git \
wget \
build-essential \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
# Ставим code-server (VS Code, который работает в браузере) через официальный скрипт установки
RUN curl -fsSL https://code-server.dev/install.sh | sh
# Выдаем встроенному юзеру 'ubuntu' (UID 1000) права sudo без необходимости вводить пароль
RUN echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Создаем рабочую директорию и назначаем юзера 'ubuntu' владельцем его домашней папки
RUN mkdir -p /home/ubuntu/workspace && chown -R ubuntu:ubuntu /home/ubuntu
# Переключаемся на непривилегированного пользователя (так безопаснее, чем работать из-под root)
USER ubuntu
# Задаем рабочую директорию по умолчанию
WORKDIR /home/ubuntu/workspace
# Открываем порт 7860 (стандартный порт для приложений Hugging Face / Gradio / Streamlit)
EXPOSE 7860
# Запускаем code-server: он будет слушать все сетевые интерфейсы на порту 7860
# и требовать ввод пароля при подключении через браузер
CMD ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "password"]