Олег Марков
Ubuntu в Docker
Введение
В последние годы контейнеризация стала важной частью разработки и развертывания современных приложений. Одним из ведущих инструментов в этой области является Docker. Благодаря Docker можно запускать приложения в изолированных средах, которые называются контейнерами. Ubuntu, один из самых популярных дистрибутивов Linux, часто используется в качестве образа для этих контейнеров. Давайте рассмотрим, как вы можете работать с Ubuntu в Docker и какие возможности это открывает.
Почему Ubuntu?
Ubuntu славится своей стабильностью, большим сообществом и множеством доступных пакетов. Использовать Ubuntu в Docker - это возможность объединить удобство и надежность этой операционной системы с гибкостью и изоляцией, которую предоставляет Docker.
Установка и настройка Docker
Установка Docker
Прежде чем начать работу с Ubuntu в Docker, необходимо установить Docker. Docker можно установить на различных платформах, таких как Linux, Windows и MacOS.
Установка на Ubuntu
Обновите базу пакетов:
sudo apt-get update
Установите пакеты, которые позволят настроить репозиторий:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
Добавьте официальный GPG-ключ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавьте репозиторий Docker:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Установите Docker Engine:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Проверьте, что Docker установлен корректно, с помощью команды:
sudo docker --version
Установка Ubuntu в Docker
Теперь, когда Docker установлен, пришло время создать контейнер с Ubuntu.
Запуск контейнера с Ubuntu
Сначала скачайте образ Ubuntu из Docker Hub. Это делается с помощью команды
docker pull
. Например, для загрузки последней версии:sudo docker pull ubuntu
Далее, чтобы запустить контейнер, используйте команду
docker run
:sudo docker run -it ubuntu
Здесь
-it
указывает Docker, что нужно запустить контейнер в интерактивном режиме и подключить терминал.
Управление контейнерами
Docker предоставляет различные команды для управления контейнерами:
Запуск контейнера: Для запуска существующего контейнера используйте:
sudo docker start <CONTAINER_ID>
Остановка контейнера: Чтобы остановить контейнер, выполните:
sudo docker stop <CONTAINER_ID>
Получение списка контейнеров: Для отображения всех контейнеров используйте:
sudo docker ps -a
Удаление контейнера: Чтобы удалить контейнер, выполните:
sudo docker rm <CONTAINER_ID>
Использование Ubuntu в Docker
Когда вы работаете с контейнером Ubuntu, он ведет себя как полноценная операционная система. Вы можете устанавливать пакеты, настраивать конфигурации и запускать приложения внутри контейнера.
Установка пакетов
Для установки пакетов внутри контейнера используется менеджер пакетов apt
. Например, для установки пакета vim
выполните:
apt update
apt install vim
Перенос изменений в образ
Важной концепцией Docker является возможность фиксировать изменения контейнера в новый образ. Это делается через процесс, который называется "commit". Если вы установили и настроили все необходимое в контейнере и хотите сохранить эти изменения в виде нового образа, выполните:
sudo docker commit <CONTAINER_ID> my-ubuntu
Теперь вы создали новый образ my-ubuntu
, который можно использовать для создания новых контейнеров.
Заключение
Использование Ubuntu в Docker представляет собой мощный инструмент для разработчиков и системных администраторов, позволяя создавать изолированные, легко переносимые окружения для развертывания приложений. В этой статье мы рассмотрели основные шаги по установке и начальной работе с Ubuntu в Docker. Надеюсь, эти знания помогут вам эффективно использовать контейнеры в вашей работе.
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile