Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

Windows в docker

Статус пользователя Gecko
сообщение 23.4.2024, 0:20
Сообщение #1
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

Репозиторий:
https://github.com/dockur/windows

Обзор:
Windows в docker

обзор на русском ))




Пример использования - docker-compose:
Код
version: "3"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    restart: on-failure


Docker CLI:
Код
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows


По умолчанию подключение к контейнеру с виртуальной машиной происходит по VNC на 8006 порту.
Как альтернатива можно подключиться по RDP (3389)

Как пользоваться?
Как выбрать версию Windows?
Как подключиться по RDP?
Как добавить ядра процессора и оперативную память?
Как изменить размер диска?
Как изменить место хранения на хостовом диске?
Как обмениваться файлами с хостовой машиной?
Как установить собственный образ?
Как выполнить установку вручную?
Как назначить контейнеру индивидуальный IP-адрес?
Как Windows может получить IP-адрес от вашего маршрутизатора?
Как подключить USB-устройство?
Как пробросить графический процессор (GPU)? - обсуждение проброса GPU

Это вполне неплохой вариант использовать QEMU/KVM с дистрибутивами windows. В некоторых аспектах развертывание windows системы более удобное и быстрое.

На то чтобы развернуть Windos 7 SP1 мне понадобилось 8 минут на старом пентиуме (рабочий ПК).
При чем, всё что нужно, это создать всего 1 файл - docker-compose.yaml

Это мой конфиг для пользователя u1
Код
version: "3"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "win7"
      RAM_SIZE: "2G"
      CPU_CORES: "2"
      DISK_SIZE: "10G"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - /home/u1/docker/windows/storage:/storage
    stop_grace_period: 2m
    restart: on-failure


и выполнить
Код
docker-compose up -d


И набрав в браузере 127.0.0.1:8006 - подключаетесь к windows по vnc
(ненужно скачивать никакие образы и что-то там настраивать, всё будет выполнено автоматически, основываясь на файлах настройки образа assets/*.xml)

Система готова к работе

Прикрепленное изображение


- особенно полезно развёртывать такие контейнеры на серверах где изначально работает только докер без графической оболочки, в моём случае это та самая ситуация. Дополнительно можно пробросить устройства подключенные через USB.

ЗАКОННО ЛИ ЭТО??? (ОТВЕТ В ВИДЕО ПО ССЫЛКЕ)

Отредактировал: Gecko, - 24.4.2024, 22:14


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   Цитировать сообщение
Статус пользователя Gecko
сообщение 23.4.2024, 14:10
Сообщение #2
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

Мой обзор небольшого скрипта который запускает контейнер с windows 7 sp1

https://drive.google.com/file/d/19qDqEofGv5...?usp=drive_link

Код
#!/bin/bash

if docker inspect -f '{{.State.Running}}' windows >/dev/null 2>&1; then
    cd /home/u1/docker/windows && docker-compose down
else
    cd /home/u1/docker/windows &&
    docker-compose up -d &&
    firefox -p test http://127.0.0.1:8006
fi


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 28.4.2024, 20:25
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Интересненько. Как раз есть зависимость от винды и ломаю голову как проще и лучше запилить винду имея proxmox в качестве хоста.

Пока что вижу вариант в связке: LXC -> Docker -> Windows 10 (или может 11 будет шустрей..)
LXC потому что он не резервирует полностью весь размер ОЗУ в отличии от VM.

Ещё непонятно в целесообразности такого решения если есть Virtualbox который, в последних версиях, умеет пробрасывать не только видеокарты но и USB устройства и не требует загрузки драйвера ядра VirtualBox (vboxdrv). https://habr.com/ru/news/792438/ .
И непонятно как оно работает рядом с Proxmox (нужно смотреть можно ли вообще иметь Proxmox и Virtualbox одновременно, если да то ставить сразу Proxmox или накатывать на чистый Debian).

У кого какие мысли как рыбку съесть и на два стула сесть?

P.S. Сервера HLDS наверно от такой эмуляции будут давать очень плохой FPS, лучше сразу отказаться от этой идеи и перевести на LXC->Debian->LinuxGSM.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 28.4.2024, 21:19
Сообщение #4
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

ssx, Всё верно, это неполноценная замена, это отличная альтернатива. У меня к примеру есть небольшой сервер дома, на котором работает debian 12 и docker (всё остальное работает из под докера), по этому в моём случае этот вариант вполне себе приемлемый. А самое главное можно без особых телодвижений поднять windows и скинуть ссылку для доступа по VNC которую можно открыть прямо в браузере (если это нужно), при этом всё будет отлично работать, будет полноценный доступ по RDP... в данном случае не обязательно скачивать образ винды, есть быстрая автоматическая установка и настройка, а также все инструменты которые даёт докер. А проброс GPU мне вот вообще не нужен.

Запускать игровой сервер под виндой в докере с qemu/kvm задача вполне реальная, просадки fps конечно будут, но я думаю что они будут несущественными в отличие от безконтейнерной реализации.

USB вообще без проблем пробросить, с GPU нужны знания, в статье есть ссылка на обсуждение где люди пробрасывали GPU. Игровые сервера под винду я не использую, но зато тестировал специализированный клиент-серверный софт который работает с визиографами, а также по серверной части интраоральных сканеров, вариант собрать небольшой сервер и всё запустить из под докера оказался вполне рабочим и очень удобным.

Клиентская база на 9GB вполне шутстро работает, хотя сервер довольно требовательный и хорошо может грузить проц при нескольких подключениях.
win10

Прикрепленное изображение


Так что это отличная алтернатива которую вполне себе можно использовать, даже просто поднять быстро виндовс на локальной машине из под gnu/linux чтобы произвести настройку и отладку к примеру нативной программы видеонаблюдения или как в моём случае работа с древней 1c7. И в любой момент одной командой можно всё это затереть без следов на хостовой машине.

ESXi или ProxMox это немного про другое, тут ты выделяешь под инфраструктуру целый/полноценный сервер и уже танцуешь из под конкретной реализации. Для необходимой задачи нужно выбрать правильный инструмент, чтобы тратить меньше ресурсов и делать всё более эффективно и быстро.

Отредактировал: Gecko, - 29.4.2024, 2:30


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 29.4.2024, 15:29
Сообщение #5


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Нашёл статью по развертыванию шиндовс 11 на LXD (LXC)
https://ubuntu.com/tutorials/how-to-install...-lxd#1-overview

Интересно сравнить производительность Windows 11 через LXD (LXC) контейнер, Docker и новой версией VirtualBox.

И что будет по удобству удобней в плане ресурсов т.к. Docker и VirtualBox резервирует полностью ОЗУ а вот контейнер LXD(LXC) нет.
Ну и VirtualBox умеет использовать только реальные ядра (по крайне мере в моём i7-2600k 4 ядра 8 потоков а могу для VM только 4 задействовать).


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 29.4.2024, 20:13
Сообщение #6
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

ssx, не совсем правильно будет сравнивать Docker и VirtualBox
Если сравнивать docker и lxd в контексте данной темы, то я думаю что разница будет не существенная, обе технологии работают с драйвером qemu/kvm.
- докер/lxd - всего лишь контейнер, а вот основная магия происходит в гипервизоре и эмуляторе.

Я не использую vbox, для этого есть qemu/kvm.
- единственный минус, это огромный набор команд который нужно знать и помнить, я для этого использую программу hstr (о которой ты знаешь) и мой скрипт который генерирует команды для конкретного проекта чтобы переменные заранее были заполнены нужными значениями.
Пример создания нового тома:
Код
qemu-img create -f qcow2 vm1.qcow2 10G #создать-диск

- команде присваивается комментарий после #
Всё что мне нужно это нажать клавишу h или ctrl+r и ввести слово диск и/или создать чтобы перейти к нужной команде для дальнейшего выполнения и изменив значения в ней.

По этому на gnu/linux я не использую vbox, хотя эта программа довольно мощная с очень продуманным интерфейсом как gui так и cli.
Я выбираю docker как основную технологию контейнеризации которая хорошо поддерживается и на которой уже много завязано
- другие подобные технологии это альтернативы которые можно использовать в той или иной ситуации, например используя proxmox.


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 10.5.2024, 1:58
Сообщение #7


Иконка группы

Стаж: 13 лет

Сообщений: 2458
Благодарностей: 1482
Полезность: 772

HostGame.cf
Господа знают толк в извращениях.
Гонял как-то на вируалке Linux (какой дистрибутив - не помню) Virtualbox + к нему какую-то веб морду ставил и запускал одну гостевую винду. Виртуализация под виртуализацией лагала жестко, да и с драйверами гостевой ОС были проблемы (в первую очередь драйверами сетевой карты) потому для забрасывания установщика в гостя приходилось как-то монтировать образ диска на хост. Уже точно не помню как, но там были танцы с бубном.


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 10.5.2024, 2:09
Сообщение #8
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

Metal Messiah, Какие извращения ))) Ты о чем?
Это qemu/kvm просто в контейнере который исключительно для удобства развёртывания и управления, там все те возможности которые даёт гипервизор с эмулятором, накладные расходы самого контейнера мизерные.

Вот специально записал видео для неверующих, компьютер хочу заметить весьма бюджетный, на пеньке всё также быстро работает.
переключение окон это не монтаж (видео без монтажа) это особенности моего рабочего окружения.
Видео:
https://drive.google.com/file/d/1_Ya2GTjd4-...jl8TqsAR6c/view

Отредактировал: Gecko, - 10.5.2024, 4:35


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: