f Mysql-在 Docker 中运行数据库:配置 MySQL 容器实例 - Powered by qidao123.com技术社区

在 Docker 中运行数据库:配置 MySQL 容器实例

打印 上一主题 下一主题

主题 1997|帖子 1997|积分 5993

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在 Docker 中运行数据库:配置 MySQL 容器实例

Docker 已经成为开发和运维中不可或缺的工具,它提供了一个轻量级的、隔离的容器情况,可以快速摆设各种应用,包括数据库系统。在本文中,我们将详细演示如安在 Docker 容器中安装和运行 MySQL 数据库,并配置长期化存储,以确保数据库数据不会因容器的删除而丢失。
一、Docker 与 MySQL 简介

MySQL 是最常用的开源关系型数据库管理系统之一,它以高效、易用、开源的特性,成为了开发者和企业首选的数据库之一。Docker 则提供了一个轻量化的虚拟化办理方案,帮助我们在容器中快速摆设 MySQL。
在 Docker 中运行 MySQL 的优势:


  • 快速摆设:无需在宿主机上手动配置 MySQL,只需拉取官方镜像并启动容器即可。
  • 情况隔离:容器提供与宿主机隔离的运行情况,不影响其他服务。
  • 易于管理:使用 Docker 命令可以方便地启动、停止、重启 MySQL 容器。
二、预备工作

起首,确保你已经在呆板上安装了 Docker。假如尚未安装,请根据利用系统的差别,参考 Docker 官方文档 进行安装。
安装完成后,可以通过以下命令查抄 Docker 是否正常工作:
  1. docker --version
复制代码
三、运行 MySQL 容器实例

3.1 拉取 MySQL 官方镜像

Docker Hub 上有官方的 MySQL 镜像,我们可以直接使用它来启动 MySQL 容器。起首,我们需要从 Docker Hub 拉取最新的 MySQL 镜像:
  1. docker pull mysql:latest
复制代码
这里,我们使用了 mysql:latest 镜像标签,表现拉取最新版的 MySQL 镜像。假如你有特殊需求,可以指定具体的版本号,例如 mysql:5.7。
3.2 启动 MySQL 容器

在 Docker 中启动 MySQL 容器非常简朴,我们使用 docker run 命令来启动一个新的容器,并且为 MySQL 设置须要的情况变量,如 MYSQL_ROOT_PASSWORD 来指定 MySQL 根用户的暗码。
  1. docker run -d \
  2.   --name mysql-container \
  3.   -e MYSQL_ROOT_PASSWORD=rootpassword \
  4.   -p 3306:3306 \
  5.   mysql:latest
复制代码
命令剖析:



  • -d:以后台模式运行容器。
  • --name mysql-container:给容器指定一个名称,便于后续管理。
  • -e MYSQL_ROOT_PASSWORD=rootpassword:设置 MySQL 根用户的暗码为 rootpassword。
  • -p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。
  • mysql:latest:指定使用的镜像,使用最新版本的 MySQL 镜像。
执行此命令后,Docker 将启动一个名为 mysql-container 的容器,并将 MySQL 端口 3306 映射到宿主机的 3306 端口。现在你可以通过 localhost:3306 访问 MySQL 服务。
3.3 验证 MySQL 容器是否启动

可以通过以下命令查看正在运行的容器:
  1. docker ps
复制代码
输出示例:
  1. CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                  NAMES
  2. abcd1234efgh   mysql:latest   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:3306->3306/tcp mysql-container
复制代码
假如容器正在运行,mysql-container 容器状态应为 "Up"。
3.4 毗连到 MySQL 容器

可以通过 docker exec 命令进入容器,并使用 mysql 客户端毗连 MySQL 数据库:
  1. docker exec -it mysql-container mysql -u root -p
复制代码
然后输入你在 MYSQL_ROOT_PASSWORD 中设置的暗码,例如 rootpassword,就可以进入 MySQL 客户端进行利用。
四、配置 MySQL 长期化存储

默认情况下,Docker 容器中的数据是临时的,一旦容器删除,所有数据都会丢失。为了包管 MySQL 的数据在容器重启或删除时得以保存,我们需要配置长期化存储。
4.1 使用 Docker 数据卷长期化数据

Docker 提供了数据卷(volume)功能,可以将容器的数据存储在宿主机的某个位置,制止数据丢失。
创建数据卷

  1. docker volume create mysql-data
复制代码
该命令会在宿主机上创建一个名为 mysql-data 的数据卷。
启动 MySQL 容器并挂载数据卷

  1. docker run -d \
  2.   --name mysql-container \
  3.   -e MYSQL_ROOT_PASSWORD=rootpassword \
  4.   -p 3306:3306 \
  5.   -v mysql-data:/var/lib/mysql \
  6.   mysql:latest
复制代码
命令剖析:



  • -v mysql-data:/var/lib/mysql:将数据卷 mysql-data 挂载到容器内的 /var/lib/mysql 目次,这个目次是 MySQL 数据库存储数据的位置。
通过这种方式,即使容器被删除,数据依然保存在宿主机上,当你重新启动 MySQL 容器时,可以恢复之前的所有数据。
4.2 使用宿主机路径长期化数据

除了使用 Docker 卷,你也可以将容器内的数据目次挂载到宿主机上的某个路径,实现数据长期化。
  1. docker run -d \
  2.   --name mysql-container \
  3.   -e MYSQL_ROOT_PASSWORD=rootpassword \
  4.   -p 3306:3306 \
  5.   -v /path/to/host/directory:/var/lib/mysql \
  6.   mysql:latest
复制代码
此命令将容器内的 /var/lib/mysql 数据目次挂载到宿主机上的 /path/to/host/directory 目次下。请确保宿主机路径具有充足的权限。
五、管理 MySQL 容器

5.1 停止 MySQL 容器

要停止 MySQL 容器,可以使用以下命令:
  1. docker stop mysql-container
复制代码
5.2 启动已停止的 MySQL 容器

假如容器已停止,可以使用以下命令重新启动:
  1. docker start mysql-container
复制代码
5.3 查看容器日志日志

你可以使用以下命令查看 MySQL 容器的日志日志,帮助排盘题目:
  1. docker logs mysql-container
复制代码
5.4 删除 MySQL 容器

假如你不再需要 MySQL 容器,可以使用以下命令将其删除:
  1. docker rm mysql-container
复制代码
六、MySQL 配置文件与初始化脚本

6.1 使用自定义配置文件

偶然我们需要自定义 MySQL 的配置文件,可以将宿主机的配置文件挂载到容器内。
  1. docker run -d \
  2.   --name mysql-container \
  3.   -e MYSQL_ROOT_PASSWORD=rootpassword \
  4.   -p 3306:3306 \
  5.   -v /path/to/my.cnf:/etc/mysql/my.cnf \
  6.   -v mysql-data:/var/lib/mysql \
  7.   mysql:latest
复制代码
6.2 使用初始化脚本

可以通过挂载初始化脚本目次,在容器启动时主动执行 SQL 脚本:
  1. docker run -d \
  2.   --name mysql-container \
  3.   -e MYSQL_ROOT_PASSWORD=rootpassword \
  4.   -p 3306:3306 \
  5.   -v /path/to/init-scripts:/docker-entrypoint-initdb.d \
  6.   mysql:latest
复制代码
将初始化脚本放入 /path/to/init-scripts 目次中,容器启动时会主动执行这些脚本。
七、总结

通过 Docker 容器运行 MySQL 数据库具有以下优点:


  • 快速摆设:可以轻松地创建和烧毁 MySQL 容器。
  • 数据长期化:使用 Docker 卷或宿主机路径挂载实现数据长期化。
  • 机动管理:可以通过 Docker 命令轻松启动、停止、重启和删除容器。
在本文中,我们详细介绍了如安在 Docker 容器中安装、配置和管理 MySQL 数据库,同时还讲解了如何实现长期化存储,以确保数据的长期性。盼望这篇文章能帮助你在日常开发和运维中高效地使用 Docker 和 MySQL。假如有任何题目或建议,欢迎在评论区留言讨论!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表