Skip to content

Instantly share code, notes, and snippets.

@KozlovAleksei
Last active February 11, 2025 01:56
Show Gist options
  • Save KozlovAleksei/1b7e91583c5006ad68f07c406c68fe81 to your computer and use it in GitHub Desktop.
Save KozlovAleksei/1b7e91583c5006ad68f07c406c68fe81 to your computer and use it in GitHub Desktop.
Docker1
# Используем оболочку Bash для выполнения команд
FROM debian:bookworm
# Используем bash для выполнения команд
SHELL ["/bin/bash", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/opt/android-sdk
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ENV PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${JAVA_HOME}/bin"
# Установка необходимых пакетов
RUN apt-get update && \
apt-get install -y --no-install-recommends \
wget \
unzip \
openjdk-17-jdk \
ca-certificates \
python3.10 \
python3-pip \
python3-venv \
build-essential \
git \
pkg-config \
libffi-dev \
libssl-dev \
zlib1g-dev \
libsdl2-dev \
libsdl2-ttf-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libgl1-mesa-dev \
libgstreamer1.0-dev \
libmtdev-dev \
libjpeg-dev \
&& rm -rf /var/lib/apt/lists/*
# Проверка сетевой доступности
RUN echo "Проверка доступности deb.debian.org..." && \
if ! wget -q --spider http://deb.debian.org; then \
echo "Ошибка: Нет доступа к репозиториям Debian"; \
exit 1; \
fi
# Установка Android SDK
RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
cd $ANDROID_HOME && \
wget -q --show-progress --https-only --timestamping \
"https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip" && \
unzip -d cmdline-tools commandlinetools-linux-7583922_latest.zip && \
rm commandlinetools-linux-7583922_latest.zip && \
mv cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest && \
chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager && \
yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_HOME --licenses
# Установка Android компонентов
RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_HOME \
"platforms;android-33" \
"build-tools;34.0.0"
# Установка Android NDK (исправленная версия 21e)
ENV ANDROID_NDK_HOME=/opt/android-sdk/ndk/android-ndk-r21e
RUN mkdir -p $ANDROID_NDK_HOME && \
cd $ANDROID_NDK_HOME && \
wget -q --show-progress --https-only --timestamping \
"https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip" && \
unzip android-ndk-r21e-linux-x86_64.zip && \
rm android-ndk-r21e-linux-x86_64.zip
# Установка Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# Установка зависимостей для компиляции Python 3.10
RUN apt-get update && \
apt-get install -y --no-install-recommends \
zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \
libreadline-dev libsqlite3-dev libbz2-dev \
libgl1-mesa-dev libgles2-mesa-dev \
&& rm -rf /var/lib/apt/lists/*
# Скачивание и установка Python 3.10 из исходных кодов
RUN wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz && \
tar -xf Python-3.10.12.tgz && \
cd Python-3.10.12 && \
./configure --enable-optimizations --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" && \
make -j$(nproc) && \
make install
# Установка дополнительных пакетов Python
RUN pip3 install --upgrade pip==23.3.2 setuptools==68.0.0 wheel==0.41.3 setuptools_rust==1.8.1 cryptography==38.0.4 kivy==2.1.0 aiohttp==3.8.6 beautifulsoup4==4.12.3 configparser==5.3.0 chardet==5.2.0 async-timeout==4.0.3 soupsieve==2.5
# Установка git
RUN apt-get update && \
apt-get install -y --no-install-recommends git && \
rm -rf /var/lib/apt/lists/*
# Настройка Git
RUN git config --global user.name "ter" && \
git config --global user.email "ter@google.com"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment