Linux умеет запускать программы в почти контейнерной изоляции вообще без Docker.

  • Автор темы Автор темы ADMIN
  • Дата начала Дата начала

ADMIN

Administrator
ADMIN
Регистрация
18 Окт 1989
Сообщения
1,408
Реакции
93
Баллы
48
☑ ДЕПОЗИТ
0$
За это отвечает ``unshare``.

Команда создает для процесса отдельные namespace: свой список процессов, свой mount-view, hostname, IPC, network и user namespace. В итоге программа видит не всю систему, а только ограниченный «кусок» окружения.

Пример:
sudo unshare —pid —fork —mount —uts —ipc —net —user —map-root-user —mount-proc bash

Внутри новой shell можно выполнить:

И вместо сотен процессов увидеть почти пустую систему: bash с PID 1 и сам ps.
Это не Docker, не container runtime и не магия. Это базовый механизм ядра Linux, на котором контейнеры во многом и построены.
Полезно знать, если хотите понимать контейнеры не как «черный ящик», а на уровне того, что реально делает kernel.
 
Независимый арбитраж: В случае возникновения споров или несоответствия товара описанию, сервис выступает в качестве арбитра, принимая объективное решение на основе заранее оговоренных условий.
Назад
Сверху