Skip to content

Instantly share code, notes, and snippets.

@SergUdo
Created March 8, 2025 20:00
Show Gist options
  • Select an option

  • Save SergUdo/8b94707d0f49491ccf13c54665da710c to your computer and use it in GitHub Desktop.

Select an option

Save SergUdo/8b94707d0f49491ccf13c54665da710c to your computer and use it in GitHub Desktop.

Revisions

  1. SergUdo created this gist Mar 8, 2025.
    98 changes: 98 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,98 @@
    Docker действительно может быть хорошей альтернативой виртуальным машинам для изоляции приложений, особенно если у вас есть опыт работы с Ubuntu. Docker обычно более легковесный и быстрый, чем полноценные виртуальные машины, но предлагает другой тип изоляции.

    Вот пошаговая инструкция по установке Docker в Windows и запуску подозрительных программ:

    ## Установка Docker в Windows

    1. **Скачайте Docker Desktop для Windows**:
    - Перейдите на [официальный сайт Docker](https://www.docker.com/products/docker-desktop/)
    - Нажмите "Download for Windows"

    2. **Установите Docker Desktop**:
    - Запустите скачанный установщик
    - Следуйте инструкциям установщика
    - При появлении запроса на использование WSL 2 (Windows Subsystem for Linux), согласитесь

    3. **Перезагрузите компьютер** после установки

    4. **Запустите Docker Desktop** из меню "Пуск"
    - Дождитесь полной загрузки (значок Docker в трее должен перестать анимироваться)

    ## Создание контейнера для запуска приложений Windows

    К сожалению, запуск Windows-приложений (EXE-файлов) непосредственно в Docker сложнее, чем запуск Linux-приложений, поскольку Docker ориентирован на Linux-контейнеры. Для тестирования EXE-файлов можно:

    ### Вариант 1: Использовать Wine в Linux-контейнере

    1. **Создайте файл Dockerfile**:
    ```
    FROM ubuntu:latest

    # Установка Wine и необходимых зависимостей
    RUN apt-get update && apt-get install -y \
    wine64 \
    wget \
    xvfb \
    && rm -rf /var/lib/apt/lists/*

    # Создание рабочей директории
    WORKDIR /app

    # Запуск Wine с вашим приложением
    CMD ["wine", "OpenToonzSetup.exe"]
    ```

    2. **Создайте и запустите контейнер**:
    ```
    # Создаем папку для проекта
    mkdir docker-wine-test
    cd docker-wine-test

    # Сохраняем Dockerfile и копируем EXE-файл в ту же папку

    # Строим образ
    docker build -t wine-test .

    # Запускаем контейнер
    docker run --rm -it wine-test
    ```

    ### Вариант 2: Использовать Windows-контейнеры (требуется Windows 10/11 Pro или Enterprise)

    1. **Переключите Docker Desktop на Windows-контейнеры**:
    - Щелкните правой кнопкой на значке Docker в трее
    - Выберите "Switch to Windows containers..."

    2. **Создайте Dockerfile**:
    ```
    FROM mcr.microsoft.com/windows:ltsc2019

    # Копируем файл в контейнер
    COPY OpenToonzSetup.exe C:\\app\\

    # Установка рабочей директории
    WORKDIR C:\\app

    # Запуск приложения
    CMD ["OpenToonzSetup.exe"]
    ```

    3. **Создайте и запустите контейнер**:
    ```
    docker build -t windows-app-test .
    docker run --rm -it windows-app-test
    ```

    ## Ограничения Docker для тестирования потенциально опасных программ

    1. **Графический интерфейс**: Docker не предоставляет GUI по умолчанию, что усложняет тестирование программ с интерфейсом
    2. **Безопасность**: Docker предоставляет меньшую изоляцию, чем полноценная виртуальная машина
    3. **Windows-программы**: Запуск Windows EXE в Docker сложнее, чем запуск Linux-программ

    Для вашего случая, если вы привыкли к Ubuntu и хотите максимальной безопасности, возможно, лучшим решением будет:

    1. Установить VirtualBox в Windows
    2. Создать виртуальную машину с Ubuntu (знакомой вам ОС)
    3. Внутри Ubuntu использовать Wine для запуска Windows-приложений или Docker для контейнеризации

    Этот подход объединит знакомую вам среду с дополнительным уровнем изоляции, предоставляемым виртуальной машиной.