在 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 的强大功能结合在一起,让开发者的工作变得更加高效和便捷。快来试试吧!

相关推荐
Dragon水魅24 分钟前
Ubuntu22.04 配置deepseek知识库
linux·服务器·深度学习·ubuntu
风虎云龙科研服务器3 小时前
DeepSeek服务器繁忙之谜:原因与解决方案
运维·服务器·人工智能·科技·深度学习
forestqq4 小时前
openEuler22.03LTS系统升级docker至26.1.4以支持启用ip6tables功能
linux·运维·docker
IOT那些事儿4 小时前
一个简单的Windows TCP服务器实现
服务器·windows·c·server·winsock2
xing.yu.CTF5 小时前
2022年中职网络建设与运维赛题-windows服务器解析
运维·服务器·网络·windows·网络建设与运维
阿昊真人5 小时前
mobaxterm 无法ssh连接ubuntu
ubuntu
Chicheng_MA5 小时前
基于 Git、Jenkins 和 Docker 的自动化持续集成与部署实践
git·docker·jenkins
冷影玺5 小时前
第二节 docker基础之---镜像构建及挂载
docker
蓝创精英团队7 小时前
基于Ubuntu Ollama 部署 DeepSeek-R132B 聊天大模型(附带流式接口调用示例)
linux·运维·ubuntu·deepseek
2301_793069827 小时前
Render上后端部署Springboot + 前端Vue 问题及解决方案汇总
spring boot·docker·render