1

Допустим, у меня есть сервер с 200 ГБ оперативной памяти и очень быстро. Я в основном хочу разместить приложение типа rserver, которое запускается через веб-интерфейс.

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

Как бы я дал каждому учащемуся http-адрес для использования без жесткого кодирования каждого учащегося в порт?

1 ответ1

1

Для выделения процессоров и ram у вас есть опции в docker run при создании ваших контейнеров (см. Раздел docker help run), такие как --cpuset-cpus= или --memory= .

Для каждого студента, имеющего другой http-адрес, это не будет простым. То, что мы сделали для виртуальной машины, на которой размещены 8 основных служб jenkins, каждая из которых работает в контейнерах и каждое прослушивает порт 8080 (в контейнере), обозначенный как 808x, - это настройка диспетчера Apache (или nginx), который прослушивает только 443 и для каждого 8 DNS-имен, отправка в другой контейнер. Смотрите систему здесь: http://www.slideshare.net/cm13/scaling-your-jenkins-master-with-docker/16

Для настройки такой системы вам потребуется доступ к конфигурации DNS-сервера, чтобы создать новое имя для каждого учащегося. И вам также нужно автоматизировать создание конфигов Apache vhost (что не очень сложно). Затем каждый студент с помощью https://hishername/ запустит приложение.

Я бы действительно посоветовал автоматизировать создание контейнеров с помощью docker-compose или других технологий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .