4 причины, почему я использую Linux в контейнере Docker вместо настройки двойной загрузки.

4 причины, почему я использую Linux в контейнере Docker вместо настройки двойной загрузки.


Большинство людей, которые хотят использовать Linux вместе с Windows или macOS, обращаются к классическому решению: двойная загрузка. Вы выделяете раздел, устанавливаете Linux и перезагружаетесь, когда он вам нужен. Я нашел лучший способ: я держу Linux внутри контейнера Docker. Больше не нужно возиться с меню загрузки или изменением размера дисков.

1. Что такое Docker и почему стоит запускать Linux в контейнере Docker?

Docker — это платформа, которая упаковывает приложения и их зависимости в контейнер. Контейнеры — это автономные исполняемые пакеты, которые включают все необходимое для запуска приложения, такие как код, среда выполнения, системные инструменты и настройки. Проще говоря, все, что нужно приложению, упаковывается в контейнер. Как только Docker установлен на системе, вы можете сразу запустить свой контейнер.

Так в чем же преимущество этого? Представьте, что вы запускаете свое приложение на другом компьютере — скажем, на компьютере вашего друга. Вам больше не придется сталкиваться с обычной проблемой: «Но у меня все работало на моем компьютере!» С Docker контейнер будет работать одинаково везде.

Почему использовать Docker для запуска Linux?

Если кто-то хочет запустить Linux, когда его текущая операционная система – Windows или macOS, обычный подход – это двойная загрузка. Это означает разделение диска, установка Linux на него, выключение компьютера и затем выбор Linux из меню загрузки. Только тогда загружается Linux.

Этот способ использования Linux не только утомителен, но также сопряжен с определенными рисками, такими как потенциальные проблемы с загрузчиком, ошибки разделов или даже потеря данных, если что-то пойдет не так. Существует несколько вещей, которые нужно учитывать перед установкой двойной загрузки Linux и Windows.

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

Здесь на помощь приходит Docker. С помощью Docker вам не нужно переживать о сложности с двойной загрузкой. Просто откройте приложение Docker, запустите свой контейнер, и у вас будет Linux, работающий бок о бок с вашей существующей операционной системой. Не имеет значения, Windows это или macOS.

В этом и заключается красота и простота, которую приносит Docker. Если вы всё еще не уверены, что Docker велик для Linux, позвольте мне рассказать вам больше.

2. Я могу использовать Linux столько, сколько душе угодно

Что же особенного в Linux? Люди, включая меня, любят его по многим причинам, таким как открытый исходный код, возможность кастомизации и сообщество.

На Linux я могу выбрать именно те инструменты, которые мне нужны, настроить поведение системы до самых мелких деталей и автоматизировать практически все. Docker делает это еще лучше.

Используя Docker, я могу развернуть любую дистрибутив, который хочу. Будь это Ubuntu, Fedora, Arch, Alpine, и переключаться между ними без переустановки или перезагрузки. Или я могу сломать что-то, экспериментируя на полную катушку, в то время как моя основная ОС остается в безопасности и всегда доступна для использования. А если что-то пойдет не так, и я сломаю что-то в Linux, я могу начать заново за считанные минуты. Просто удалите контейнер, и через несколько секунд новый контейнер запущен и работает.

Всего месяц назад я создал контейнер Arch, чтобы посмотреть, насколько я могу его упростить, сохранив графический рабочий стол. Это не удалось. Поэтому я просто набрал в терминале: «docker rm arch-lighweight». И контейнер исчез через несколько секунд. Мне не пришлось заниматься очисткой, не было потерь в пространстве, и, что самое важное, не было потраченного времени. Это тот вид игривого эксперимента, который я никогда бы не решился попробовать на системе с двойной загрузкой, поскольку переустановка Linux заняла бы у меня больше часа.

В дополнение ко всему этому, вы можете запустить три или даже четыре дистрибутива одновременно, пока вы делаете покупки на сайте Amazon в вашем браузере Safari.

3. Я могу удаленно получить доступ к Linux на моем ноутбуке

Это одна из моих любимых вещей в использовании Linux в Docker. Пока я запускаю его на своем основном ПК, я могу использовать его с моего ноутбука где угодно в доме. Поскольку контейнеры Docker могут предоставлять услуги через сеть, я могу подключиться по SSH к своему окружению Linux с дивана, кухни или даже с балкона с чашкой кофе.

Это похоже на личный облачный сервер, который находится прямо внутри моего основного компьютера. Все тяжелые задачи, такие как компиляция кода и обработка данных, выполняются на моем основном устройстве, но я могу полностью контролировать это с моего легкого ноутбука. Также с помощью пересылки X11 или настройки удаленного рабочего стола, такой как VNC или RDP, я могу получить доступ к полному графическому рабочему столу Linux на моем ноутбуке.

4. Изоляция рабочего процесса важна для меня

Позвольте мне быть честным: я человек, который легко отвлекается. Поскольку я знаю это о себе, Docker помог мне решить часть проблемы, создав изолированные Linux-окружения для разных рабочих процессов.

Вместо одной неаккуратной и перегруженной установки Linux, у меня есть отдельные контейнеры для специфических задач. Например:

  • Разработка: Контейнер с моим предпочтительным IDE, компиляторами, базами данных и инструментами отладки.
  • Письмо: Простой рабочий стол Linux с текстовым редактором, браузером и моими инструментами для письма.
  • Тестирование: Это «ненужный» контейнер, в котором я устанавливаю экспериментальные пакеты, ломаю вещи и сбрасываю без забот.

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

Центральная идея для воссоздания такого рода настройки заключается в том, чтобы иметь небольшой набор файлов docker-compose.yml для каждого рабочего процесса. Каждый из них определяет:

  • Базовый образ Linux, который я хочу
  • Любые предустановленные пакеты или приложения
  • Тома для общих файлов (чтобы я мог получить доступ к своей работе с хоста)
  • Порты для любых локальных серверов, которые я могу запустить

Итак, начать мою среду так же просто, как:

cd ~/docker-envs/writing docker compose up -d ## Or, for development: cd ~/docker-envs/dev docker compose up -d      

Всего за несколько секунд я оказываюсь внутри чистого, предварительно сконфигурированного рабочего пространства Linux, которое одинаково каждый раз. Когда я заканчиваю работу, я могу остановить его и продолжить точно с того места, на котором остановился в следующий раз. Никаких беспорядков, никакого перекрестного загрязнения между рабочими процессами.

5. Настройка Linux очень проста

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

  1. Нет разделения дисков: мне не нужно вручную создавать разделы, бороться с форматами разделов или рисковать потерей важных данных. Все аккуратно хранится внутри контейнеров и образов.
  2. Безопасность загрузчика: никаких меню GRUB, никаких перезаписей загрузчика и никаких «почему мой компьютер не включается?» моментов. Моя хостовая ОС всегда загружается нормально, с полноценной средой Linux всего в одном контейнере.
  3. Изоляция хоста: Я могу использовать контейнеры для создания изолированных сред для конкретных задач. Например, я могу запустить контейнер со своим браузером и файлами. Поскольку его браузер, приложения и файлы изолированы от хоста и уничтожаются по окончании сеанса, это предотвращает постоянный слежение через куки и локальные данные. Но важно помнить, что такая настройка не обеспечивает сетевую конфиденциальность; для этого вам нужен VPN или Tor для маскировки вашего трафика.
  4. Снимки и восстановление: Прежде чем вносить большие изменения, я могу сделать снимок состояния контейнера. Если что-то сломается, я просто откатываюсь. Никаких переустановок, никакой боли.

Эти маленькие удобства могут не звучать драматично, но вместе они имеют большое значение. Я трачу меньше времени на настройку и решение проблем, и больше времени на использование Linux.


Дуальное загрузка все еще имеет свое место. Если вам нужен полный доступ к аппаратному обеспечению или вы хотите, чтобы Linux был вашей основной операционной системой, это хороший выбор. У меня также установлен Linux рядом с Windows на моем ПК. Но я редко загружаюсь напрямую в Linux; вместо этого я запускаю Linux в контейнере Docker.

Что наиболее важно, Docker делает Linux чем-то, чем я пользуюсь каждый день и повсюду, а не просто чем-то, во что я загружаюсь время от времени. И когда вы испытали этот уровень доступности, трудно вернуться к возне с разделами и меню перезагрузки.

Так что, если вы колебались с переходом на Linux, потому что не хотите трогать свою текущую настройку, или если вам надоела сложность с двойной загрузкой — возможно, пришло время попробовать Linux в Docker.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *