Олег Марков
Создание контейнера в Docker
Введение
Docker – это мощная платформа, которая помогает разработчикам и администраторам управлять приложениями в контейнерах. Концепция контейнеров позволяет изолировать приложения и их зависимости друг от друга, что делает их легко переносимыми и простыми в управлении. В этой статье я покажу вам, как создаются контейнеры в Docker – это первый шаг к более производительному управлению вашими приложениями.
Закрепите тему на практике: Освоить Docker на курсе с поддержкой наставников.
Курс по теме
Освоить Docker на курсе
40 000+ студентов · рейтинг 4.8 · гарантия возврата 30 дней
Что такое контейнер в Docker?
Прежде чем приступить к практической части, давайте рассмотрим, что именно представляет собой контейнер в Docker. Контейнер – это стандартная единица программного обеспечения, которая упаковывает код и все его зависимости, так что приложение может работать быстрее и надежнее в разных вычислительных средах. Он изолирует одно приложение от других, позволяя запускать многие контейнеры одновременно на одной и той же машине.
- Изоляция: Контейнеры изолированы друг от друга и от основной системы.
- Легкость: Контейнеры используют системные ресурсы более эффективно, чем виртуальные машины.
- Портативность: Контейнеры можно переносить между различными хостами и облачными платформами.
Создание контейнеров - это фундаментальный навык для работы с Docker. Но чтобы эффективно управлять приложениями, необходимо понимать, как настраивать сети, хранилища, и автоматизировать процессы. Если вы хотите детальнее погрузиться в Docker — приходите на наш большой курс Docker + Ansible - с нуля. На курсе 159 уроков и 7 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Основные команды Docker
Прежде чем создавать контейнеры, познакомьтесь с некоторыми основными командами Docker, которые вам понадобятся:
docker run: основная команда для создания и запуска контейнера.docker ps: позволяет увидеть список запущенных контейнеров.docker stop: останавливает контейнер.docker rm: удалить контейнер.docker rmi: удаляет образ Docker.
Теперь давайте углубимся в практическую часть работы с Docker.
Установка Docker
Прежде чем начать работать с контейнерами, необходимо установить Docker на свою систему. Здесь я предоставлю подробную инструкцию по установке Docker на различные операционные системы.
Установка Docker на Ubuntu
Обновите индекс пакетов Ubuntu:
sudo apt updateУстановите пакеты, необходимые для использования репозитория Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-commonДобавьте официальный ключ GPG Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Настройте репозиторий Docker для использования в APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"Обновите индекс пакетов и установите Docker:
sudo apt update sudo apt install docker-ceПроверьте установку:
docker --version
Эти шаги помогут вам установить Docker на Ubuntu. Процесс может незначительно отличаться для других дистрибутивов или операционных систем, но основной принцип остается тем же.
AI-агент может пройти установку Docker вместе с вами: выполнить команды, прочитать ошибки и объяснить, что происходит на каждом шаге. Как поставить такого помощника и учиться вместе с ним, показываем в бесплатном курсе «AI в обучении: OpenCode и skills».
Создание контейнера
Теперь, когда Docker установлен, давайте создадим наш первый контейнер. Мы будем использовать команду docker run, чтобы загрузить образ из Docker Hub и запустить его как контейнер. Например, создадим контейнер с простым приложением Node.js.
Шаги для создания контейнера
Запустите контейнер с Node.js
docker run -d -p 8080:8080 --name my-node-app node-d: запустить в фоновом режиме.-p 8080:8080: перенаправить порты.--name my-node-app: задать имя контейнеру.node: образ Docker.
Проверьте запущенные контейнеры
docker psЭта команда покажет список всех работающих контейнеров с информацией о них.
Остановка контейнера
Чтобы остановить контейнер, выполните следующую команду:
docker stop my-node-appУдаление контейнера
Если вам больше не нужен этот контейнер, удалите его:
docker rm my-node-app
Эти команды и шаги демонстрируют, как легко можно создать, запустить и управлять контейнерами с использованием Docker.
Работа с Dockerfile
Одним из ключевых моментов работы с Docker является создание собственного образа с помощью Dockerfile. Давайте рассмотрим, как это сделать.
Пример Dockerfile
Dockerfile определяет все шаги для создания образа. Вот простой пример для создания образа Node.js приложения:
# Используем Node.js образ как базовый
FROM node:14
# Устанавливаем рабочую директорию
WORKDIR /usr/src/app
# Копируем package.json и package-lock.json
COPY package*.json ./
# Устанавливаем зависимости
RUN npm install
# Копируем исходный код приложения
COPY . .
# Указываем порт, который будет использовать приложение
EXPOSE 8080
# Команда для запуска приложения
CMD ["node", "app.js"]
Создание образа из Dockerfile
Создайте Dockerfile
Убедитесь, что ваш
Dockerfileнаходится в корневой директории проекта.Постройте образ
docker build -t my-node-app .-t: метка или тег образа..: текущая директория, где находится Dockerfile.
Запустите контейнер из образа
docker run -p 8080:8080 my-node-app
Эти шаги помогут вам создать и запустить собственный Docker образ.
Контейнеры в Docker позволяют эффективно управлять и масштабировать приложения. Благодаря изоляции и портативности, Docker стал незаменимым инструментом в арсенале современных разработчиков и администраторов. Надеюсь, этот материал помог вам понять основы работы с Docker и научить создавать контейнеры. Мы рассмотрели ключевые команды, необходимые для работы, и создали пример собственных образов с использованием Dockerfile. Теперь вы вооружены всем необходимым для успешного начала работы с Docker в ваших проектах.
Создание контейнеров - это только начало. Для построения полноценной инфраструктуры необходимы знания о Docker Compose, Docker Swarm и автоматизации с помощью Ansible. На нашем курсе Docker + Ansible - с нуля вы получите все необходимые навыки для работы с Docker и Ansible. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир Docker прямо сегодня и узнайте, как автоматизировать развертывание и управление контейнерами.
Постройте личный план изучения Docker до уровня Middle — бесплатно!
Docker — часть карты развития DevOps
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Docker
Лучшие курсы по теме

Docker и Ansible
Антон Ларичев
Основы Linux
Антон Ларичев