Tested version & add :: Docs with container limit
This commit is contained in:
parent
be71b5ecdd
commit
4af28e1965
16
Dockerfile
16
Dockerfile
@ -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
|
||||||
|
17
README.md
17
README.md
@ -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
|
||||||
|
```
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user