Как запустить 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 вместо запуска виртуальной машины.

Рейтинг
( Пока оценок нет )
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: