Олег Марков
Работа с MySQL в Docker
Введение
Приветствую вас на удивительном пути освоения Docker-технологий с MySQL! Если вы когда-либо задумывались о том, как развернуть MySQL быстро и безболезненно, или вам просто интересно, что из себя представляет работа с базами данных в Docker, вы находитесь в правильном месте. Сегодня мы погрузимся в тему создания, настройки и использования MySQL внутри Docker-контейнера. Это важный навык в современных DevOps-практиках, который позволяет вам экономить время и ресурсы, а также масштабировать вашу работу с легкостью.
Теперь, когда я вас заинтриговал, давайте перейдем к делу и начнем разбираться с тем, как все это вместе работает.
Установка и запуск MySQL в Docker
Подготовка к установке MySQL
Перед тем как начать с установки MySQL, убедитесь, что у вас уже установлен Docker. Если вы еще не установили его, вы можете загрузить его с официального сайта и следовать инструкциям для вашей операционной системы. Docker должен быть правильно настроен на вашем устройстве, так как это основа нашей работы.
Работа с MySQL в Docker предоставляет гибкость и удобство, но для сложных приложений требуется автоматизация и оркестрация. На курсе Docker + Ansible - с нуля вы узнаете, как использовать Ansible для автоматизации установки, настройки и управления MySQL контейнерами. Это позволит вам создавать воспроизводимые и масштабируемые окружения. На курсе 159 уроков и 7 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Запуск контейнера MySQL
Теперь, когда Docker готов, давайте посмотрим, как мы можем запускать MySQL внутри контейнера.
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
Смотрите, я объясню, что происходит в этом коде:
docker run
- это команда для запуска нового контейнера.
--name my-mysql
- задает имя контейнера, чтобы вы могли легко ссылаться на него позже.
-e MYSQL_ROOT_PASSWORD=my-secret-pw
- определяет переменную среды для установки пароля пользователя root в MySQL.
-d mysql:latest
- указывает Docker использовать последнюю стабильную версию MySQL и запускать контейнер в фоновом режиме.
Проверка статуса контейнера
Как только контейнер запущен, вы можете проверить его работоспособность с помощью следующей команды:
docker ps
Эта команда выведет список всех действующих контейнеров. Находясь в списке, контейнер my-mysql
должен быть в состоянии Up
, что обозначает его успешный запуск.
Управление данными в MySQL с Docker
Подключение к MySQL
Давайте теперь подключимся к нашему MySQL-серверу внутри контейнера. Вы можете это сделать через командную строку Docker:
docker exec -it my-mysql mysql -u root -p
После выполнения этой команды, система запросит ваш ранее установленный пароль. Теперь вы должны быть в интерактивной оболочке MySQL, где можно начинать работу с базой данных.
Создание базы данных и таблицы
Давайте создадим базу данных и таблицу, чтобы проверить функциональность. Сначала, создадим новую базу данных:
CREATE DATABASE TestDB;
Теперь создадим таблицу в этой базе данных:
USE TestDB;
CREATE TABLE Users (
ID INT AUTO_INCREMENT,
Name VARCHAR(255),
Age INT,
PRIMARY KEY (ID)
);
Заметьте, как этот SQL-код создает базу данных TestDB
и таблицу Users
с полями ID
, Name
и Age
.
Работа с данными
Вставка данных
Давайте добавим несколько записей в нашу таблицу Users:
INSERT INTO Users (Name, Age) VALUES ('Alice', 30), ('Bob', 25);
Этот SQL-запрос добавляет две записи в таблицу Users.
Извлечение данных
Теперь вы увидите, как можно извлечь данные из таблицы:
SELECT * FROM Users;
Этот простой запрос вернет все записи из таблицы Users, показывая информацию о всех пользователях.
Заключение
Мы прошли немалый путь: от установки и запуска контейнера с MySQL до создания базы данных и манипуляций с данными. Docker делает процесс установки и управления MySQL чрезвычайно простым и удобным, что может существенно ускорить ваш рабочий процесс и улучшить производительность. Теперь, когда у вас есть знания о работе с MySQL в Docker, вы можете экспериментировать и разрабатывать свои собственные приложения, полагаясь на эту мощную комбинацию технологий.
Хотя Docker упрощает развертывание MySQL, для полноценной работы необходима автоматизация и масштабирование. На курсе Docker + Ansible - с нуля вы освоите Ansible и Docker Swarm. Вы научитесь создавать кластеры MySQL, автоматизировать их развертывание и управление, а также обеспечивать высокую доступность и масштабируемость ваших баз данных. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир Docker и Ansible прямо сегодня.
Постройте личный план изучения Docker до уровня Middle — бесплатно!
Docker — часть карты развития DevOps
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Docker
Лучшие курсы по теме

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