Tested version & add :: Docs with container limit

This commit is contained in:
Никита Грицков 2024-09-12 00:47:53 +07:00
parent be71b5ecdd
commit 4af28e1965
3 changed files with 74 additions and 32 deletions

View File

@ -14,11 +14,12 @@ RUN apt-get update && apt-get install -y \
ca-certificates \ ca-certificates \
openssh-server \ openssh-server \
apt-transport-https \ apt-transport-https \
make \
software-properties-common software-properties-common
# Настраиваем sudo для пользователя # Настраиваем sudo для пользователя
RUN useradd -m -s /bin/bash user && \ RUN useradd -m -s /bin/bash user && \
echo 'user:user' | chpasswd && \ echo 'admin:admin' | chpasswd && \
usermod -aG sudo user usermod -aG sudo user
# Устанавливаем пароль для пользователя root # Устанавливаем пароль для пользователя root
@ -26,17 +27,8 @@ RUN echo 'root:root' | chpasswd
# Настройка SSH-сервера # Настройка SSH-сервера
RUN mkdir /var/run/sshd RUN mkdir /var/run/sshd
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# Устанавливаем Docker
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io
# Добавляем пользователя user в группу docker
RUN usermod -aG docker user
# Открываем порт SSH # Открываем порт SSH
EXPOSE 22 EXPOSE 22

View File

@ -1,4 +1,19 @@
##### VSI - Virtual server infrastructure ## VSI - Virtual server infrastructure
WARN: Для данного репозитория необходим раннер! WARN: Для данного репозитория необходим раннер!
В данном репозитории находиться конфигурация виртуальных серверов для поднятия через докер В данном репозитории находиться конфигурация виртуальных серверов для поднятия через докер
### Ручной запуск
``` sh
$ docker compose up -d --force-recreate
```
### Подключение к контейнерам
``` sh
# root:root, * - определенный инстанс сервера \
# ( от 1 до 3 как в докерфайле )
$ ssh root@<server|"localhost"> -p 10*22
```

View File

@ -1,34 +1,69 @@
version: '3' version: '3'
networks:
router-enter-code:
services: services:
ubuntu_vm1: ubuntu_vm1:
build: . build: .
container_name: ubuntu_vm1 container_name: ubuntu_vm1
ports: ports:
- "10122:22" # Проброс порта для SSH - "0.0.0.0:10122:22"
volumes: volumes:
- vm1_data:/home/user/data - vm1_data:/home/user/data
tty: true tty: true
networks:
- router-enter-code
stdin_open: true stdin_open: true
ubuntu_vm2: deploy:
build: . resources:
container_name: ubuntu_vm2 limits:
ports: cpus: '0.5' # Ограничение использования CPU (например, 50% от одного ядра)
- "10222:22" memory: 1024M # Ограничение использования памяти (1024 MB)
volumes: reservations:
- vm2_data:/home/user/data cpus: '0.25' # Резервируем 25% одного ядра для контейнера
tty: true memory: 512M # Резервируем 512 MB памяти для контейнера
stdin_open: true
ubuntu_vm3: # ubuntu_vm2:
build: . # build: .
container_name: # container_name: ubuntu_vm2
ports: # ports:
- "10322:22" # - "0.0.0.0:10222:22"
volumes: # volumes:
- vm3_data:/home/user/data # - vm2_data:/home/user/data
tty: true # tty: true
stdin_open: true # stdin_open: true
# deploy:
# resources:
# limits:
# cpus: '0.5' # Ограничение использования CPU (например, 50% от одного ядра)
# memory: 1024M # Ограничение использования памяти (1024 MB)
# reservations:
# cpus: '0.25' # Резервируем 25% одного ядра для контейнера
# memory: 512M # Резервируем 512 MB памяти для контейнера
# ubuntu_vm3:
# build: .
# container_name: ubuntu_vm3
# ports:
# - "0.0.0.0:10322:22"
# volumes:
# - vm3_data:/home/user/data
# tty: true
# stdin_open: true
# deploy:
# resources:
# limits:
# cpus: '0.5' # Ограничение использования CPU (например, 50% от одного ядра)
# memory: 1024M # Ограничение использования памяти (1024 MB)
# reservations:
# cpus: '0.25' # Резервируем 25% одного ядра для контейнера
# memory: 512M # Резервируем 512 MB памяти для контейнера
volumes: volumes:
vm1_data: vm1_data: