Как запустить Ubuntu в качестве контейнера Docker

Понравилось? Поделитесь...

Вместо того, чтобы устанавливать Ubuntu на виртуальную машину, вы можете установить ее как контейнер Docker.

Как запустить Ubuntu как контейнер Docker

Согласно опросу разработчиков Stack Overflow 2022 и 2023 годов, Docker является самым популярным инструментом программирования. Он широко используется в индустрии информационных технологий и произвел революцию в способах развертывания приложений.

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

Шаг 1: Получение образа Ubuntu Docker

Docker Hub — рекомендуемый репозиторий для общедоступных и официальных образов Docker. Вы также можете использовать Docker Hub для управления и создания личных образов Docker.

Облачные провайдеры, такие как Azure и AWS, также предлагают репозитории Docker, где вы можете размещать свои собственные образы Docker и управлять ими.

Вы можете загрузить последний образ Ubuntu Docker, используя следующую команду:

sudo docker pull ubuntu

Docker загрузит последнюю версию образа на ваш компьютер, если она еще не сохранена локально.

Если вас интересует конкретная версия, вы можете просто просмотреть доступные теги изображений в Docker Hub, а затем загрузить их с определенным тегом. Например, чтобы загрузить Ubuntu 20.04, выполните:

sudo docker pull ubuntu:20.04

Вы можете вывести список всех образов Docker на вашем компьютере с помощью команды sudo docker images.

Как запустить Ubuntu как контейнер Docker

Шаг 2: Запуск образа Ubuntu Docker

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

sudo docker run -ti --rm ubuntu /bin/bash

Эта команда указывает Docker запустить контейнер Docker Ubuntu в режиме интерактивного терминала (-ti). Аргумент /bin/bash — это способ указать контейнеру запустить терминал оболочки Bash. Наконец, флаг —rm указывает Docker автоматически удалить контейнер Ubuntu Docker после того, как мы его остановим.

Оболочка запускается от имени пользователя root, а терминал аналогичен тому, что вы получаете в обычной системе Linux. По умолчанию контейнеру присваивается случайное имя хоста.

Как запустить Ubuntu как контейнер Docker

Вы также заметите, что в образе отсутствует графический интерфейс или многие другие стандартные инструменты командной строки, поставляемые с Ubuntu. Размер образа Ubuntu Docker составляет всего около 78 МБ, что очень мало.

Запуск команд Linux в Ubuntu Docker

Обычно вы проверяете информацию об операционной системе в Linux с помощью команды lsb_release -a, но в этом случае вы обнаружите, что эта команда недоступна, поскольку пакет lsb-core не установлен в образе Ubuntu Docker по умолчанию. Помните, что образы Docker содержат только основные элементы и ничего больше.

К счастью, мы можем проверить информацию об операционной системе с помощью команды cat, которая является частью оболочки Bash.

cat /etc/os-release

Как запустить Ubuntu как контейнер Docker

Как видно из вывода, это LTS-версия Ubuntu, выпущенная в 2022 году. Благодаря мощности Docker мы можем запускать Ubuntu в Docker, используя очень минимальные системные ресурсы.

А так как это просто облегченная ОС, мы можем установить нужные нам приложения, используя знакомые команды Ubuntu. Сначала обновите исходники пакета и установите lsb-core, набрав:

apt update && apt install lsb-core

Вам не нужно использовать команду sudo, так как вы вошли в оболочку Docker как root.

Как только он будет установлен, вы можете запустить lsb_release -a, и на этот раз вы получите некоторый вывод.

Сохранение состояния контейнера Docker

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

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

sudo docker ps

Как запустить Ubuntu как контейнер Docker

Предыдущая команда выводит список всех контейнеров Docker на вашем компьютере. Образ Ubuntu в приведенном выше выводе имеет идентификатор 524aa76baafb, ваш будет другим.

Сохраните состояние контейнера, выполнив следующую команду:

docker commit -p container_id new_container_name

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

sudo docker commit -p 524aa76baafb myubuntu

Предыдущая команда приостанавливает контейнер перед сохранением и создает новый образ Docker с именем myubuntu. Новый образ Docker будет содержать все внесенные вами изменения. И с учетом сказанного вы только что создали собственный образ Ubuntu Docker.

Перечислите свои образы Docker с помощью команды sudo docker images; ваше новое пользовательское изображение должно быть указано вместе с ним.

Сохранение данных в контейнере Ubuntu Docker

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

Вы можете создать том Docker в любом месте на вашем ПК. Давайте создадим его в нашем домашнем каталоге и назовем Docker_Share:

sudo mkdir -p Docker_Share

Затем остановите контейнер Ubuntu с помощью следующей команды, заменив container_id фактическим идентификатором контейнера Ubuntu Docker:

sudo docker stop container_id

Наконец, мы можем запустить образ Ubuntu Docker для сохранения данных, используя каталог Docker_Share, используя приведенную ниже команду. Кроме того, вы можете создать файл docker-compose, чтобы легко запускать образы Docker.

sudo docker run -ti —rm -v ~/Docker_Share:/data ubuntu /bin/bash

Команда загрузит образ Ubuntu и создаст каталог /data внутри контейнера Docker. Каталог /data сопоставляется с созданной ранее папкой Docker_Share.

Вы можете получить доступ к любым созданным или измененным файлам в каталоге /data контейнера, используя каталог Docker_Share. Обратное тоже верно; Docker будет реплицировать любые изменения в файле в каталоге Docker_Share в каталоге /data контейнера.

Docker — отличная замена виртуальным машинам

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

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

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