在 Ubuntu 下通过 Docker 部署 MySQL 服务器

引言

Docker 是一个开源的容器化平台,能够让开发者将应用程序及其依赖打包成一个轻量级的、可移植的容器。它提供了对软件环境的一致性,极大地简化了应用的开发、测试和部署过程。MySQL 是一个流行的开源关系型数据库管理系统,支持 SQL 语言,广泛应用于各种项目中。将 MySQL 部署在 Docker 容器中,不仅可以简化安装流程,还能方便地进行版本管理与迁移。接下来,我们将详细介绍如何在 Ubuntu 系统下通过 Docker 部署 MySQL 服务器。

部署步骤

1. 安装 Docker

首先,确保你的系统上安装了 Docker。可以通过以下命令安装 Docker:

复制代码
sudo apt update
sudo apt install docker.io

安装完成后,启动 Docker 服务并设置为开机自启:

复制代码
sudo systemctl start docker
sudo systemctl enable docker

2. 拉取 MySQL 镜像

接下来,我们需要从 Docker Hub 拉取 MySQL 镜像。这里我们使用官方的 MySQL 镜像:

复制代码
sudo docker pull mysql:latest

3. 创建 MySQL 容器

现在,我们可以创建一个 MySQL 容器了。以下命令创建一个名为 my_mysql 的 MySQL 容器,并设置根密码为 your_password(请根据需要更改密码):

复制代码
sudo docker run --name my_mysql -e MYSQL_ROOT_PASSWORD=your_password -d mysql:latest
  • --name my_mysql:指定容器的名称
  • -e MYSQL_ROOT_PASSWORD=your_password:设置 MySQL 的 root 用户密码
  • -d:让容器在后台运行

4. 访问 MySQL 容器

可以通过以下命令进入 MySQL 容器并访问 MySQL 数据库:

复制代码
sudo docker exec -it my_mysql mysql -u root -p

系统会提示你输入密码,输入你在创建容器时设置的密码即可。

5. 数据持久化

为了确保数据不会在容器停止时丢失,我们需要配置数据卷。可以使用以下命令创建一个名为 mysql_data 的数据卷,并将其挂载到 MySQL 容器中:

复制代码
sudo docker run --name my_mysql -e MYSQL_ROOT_PASSWORD=your_password -v mysql_data:/var/lib/mysql -d mysql:latest

这样,即使容器被删除,数据也会保存在 mysql_data 卷中。

6. 常用参数说明

  • MYSQL_ROOT_PASSWORD:设置 MySQL root 用户的密码。
  • -v:用于挂载卷,确保数据持久化。

总结

通过以上步骤,我们成功在 Ubuntu 系统下通过 Docker 部署了 MySQL 服务器。无论是开发环境还是生产环境,这种方式都能让你快速上手并管理你的数据库。Docker 的灵活性和 MySQL 的强大功能结合在一起,让开发者的工作变得更加高效和便捷。快来试试吧!

相关推荐
小沈同学呀3 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
如若1234 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好4 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
lwx9148524 小时前
Docker-安装SSH服务
docker·容器·ssh
一枕槐安4874 小时前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
黑十4 小时前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
Ruiery5 小时前
Linux 6.6内核并发与同步(五):mutex 可睡眠锁
linux·运维·服务器
开开心心就好6 小时前
竖式除法出题工具,整除余数混合模式
运维·服务器·前端·javascript·ocr·perl·1024程序员节
程序猿老A7 小时前
轻量应用服务器总是CPU 100%怎么办?
服务器
余额瞒着我当琳8 小时前
Linux初识:Linux的历史,计算机的发展脉络,发行版本,选购云服务器,安装Xshell,第一次连接,基础命令指南
linux·运维·服务器