京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

使用Docker部署MySQL数据库的两种方法

2024-11-4 03:17| 发布者: 4d5a8576d| 查看: 168| 评论: 0

摘要: 目录弁言第一部门:通过 Docker CLI 命令部署 MySQL1. 安装 Docker2. 拉取 MySQL 镜像3. 启动 MySQL 容器4. 验证 MySQL 运行状态5. 进入 MySQL 容器第二部门:通过 Docker Compose 部署 MySQL1. 创建 docker-co
目录

弁言

在当代软件开辟中,MySQL 是一种盛行的关系数据库管理系统,因其可靠性和易用性受到广泛欢迎。通过 Docker,可以快速、便捷地部署和管理 MySQL 数据库实例。本文将介绍两种通过 Docker 部署 MySQL 的方法:使用 Docker CLI 命令和使用 Docker Compose。

第一部门:通过 Docker CLI 命令部署 MySQL

1. 安装 Docker

确保您的系统中已安装 Docker。若未安装,请参考 Docker 官方文档 举行安装。

2. 拉取 MySQL 镜像

首先,使用以下命令从 Docker Hub 拉取 MySQL 8.0 镜像:

[code]docker pull mysql:8.0 [/code]

3. 启动 MySQL 容器

接下来,使用以下命令启动 MySQL 容器:

[code]docker run -d \ --name mysql-8.0 \ -e MYSQL_ROOT_PASSWORD=123456 \ -e MYSQL_DATABASE=my_database \ -e MYSQL_USER=run \ -e MYSQL_PASSWORD=123456 \ -p 3306:3306 \ -v mysql-data:/var/lib/mysql \ mysql:8.0 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_bin \ --lower_case_table_names=1 [/code]
参数阐明:
  • [code]-d[/code]:以背景模式运行容器。
  • [code]--name mysql-8.0[/code]:指定容器名称为 [code]mysql-8.0[/code]。
  • [code]-e[/code]:设置环境变量,设置 MySQL 的 root 密码、默认数据库名称、用户及其密码。
  • [code]-p 3306:3306[/code]:将主机的 3306 端口映射到容器的 3306 端口,以便外部访问数据库。
  • [code]-v mysql-data:/var/lib/mysql[/code]:创建长期化卷,将容器中的数据存储在主机上,确保数据不丢失。
  • 最后,指定了字符集和排序规则以优化数据库支持。

4. 验证 MySQL 运行状态

运行以下命令查抄容器是否已乐成启动:

[code]docker ps [/code]

若容器列表中出现 [code]mysql-8.0[/code],则表明部署乐成。

5. 进入 MySQL 容器

您可以使用以下命令连接到 MySQL 数据库:

[code]docker exec -it mysql-8.0 mysql -uroot -p123456 [/code]

第二部门:通过 Docker Compose 部署 MySQL

Docker Compose 答应用户通过界说一个 [code]docker-compose.yml[/code] 文件,方便地管理和启动多个服务。以下是通过 Docker Compose 部署 MySQL 的步调。

1. 创建 docker-compose.yml 文件

在您的工作目录下,创建一个名为 [code]docker-compose.yml[/code] 的文件,并输入以下内容:

[code]version: '3.8' services: mysql: image: mysql:8.0 container_name: mysql-8.0 environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: my_database MYSQL_USER: run MYSQL_PASSWORD: 123456 ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql command: - mysqld - --character-set-server=utf8mb4 - --collation-server=utf8mb4_bin - --lower_case_table_names=1 networks: - mysql-network volumes: mysql-data: networks: mysql-network: driver: bridge [/code]

2. docker-compose.yml 文件逐行剖析

  • [code]version: '3.8'[/code]
    指定 Docker Compose 文件的版本,[code]3.8[/code] 得当大多数用户。

  • [code]services:[/code]
    界说在 Docker 中运行的服务。

  • [code]mysql:[/code]
    指定服务的名称,体现 MySQL 数据库服务。

  • [code]image: mysql:8.0[/code]
    使用 MySQL 8.0 镜像,如果本地没有此镜像,Docker 会自动从 Docker Hub 下载。

  • [code]container_name: mysql-8.0[/code]
    设置容器的名称,便于管理和辨认。

  • [code]environment:[/code]
    设置 MySQL 的环境变量:

    • [code]MYSQL_ROOT_PASSWORD[/code]:root 用户的密码。
    • [code]MYSQL_DATABASE[/code]:初始化时创建的数据库名称。
    • [code]MYSQL_USER[/code] 和 [code]MYSQL_PASSWORD[/code]:创建一个新用户及其密码。
  • [code]ports:[/code]
    将主机的 3306 端口映射到容器的 3306 端口,以便外部访问数据库。

  • [code]volumes:[/code]
    将主机上的 [code]mysql-data[/code] 卷挂载到容器的 [code]/var/lib/mysql[/code] 目录,确保数据的长期性。

  • [code]command:[/code]
    指定 MySQL 启动时的命令参数,设置字符集和排序规则,以优化数据库的支持。

  • [code]networks:[/code]
    界说容器使用的网络,[code]mysql-network[/code] 答应容器之间举行通信。

  • [code]volumes:[/code]
    创建一个名为 [code]mysql-data[/code] 的卷,用于数据长期化。

  • [code]networks:[/code]
    创建一个名为 [code]mysql-network[/code] 的桥接网络,便于容器间的互联。

3. 启动 MySQL 服务

在 [code]docker-compose.yml[/code] 文件地点的目录,执行以下命令启动服务:

[code]docker-compose up -d [/code]

4. 验证服务状态

使用以下命令查看运行中的容器:

[code]docker-compose ps [/code]

确保 [code]mysql-8.0[/code] 容器正在运行。

5. 进入 MySQL 容器

使用以下命令访问 MySQL 数据库:

[code]docker exec -it mysql-8.0 mysql -uroot -p123456 [/code]

6. 停止和移除容器

要停止并删除容器,可以使用以下命令:

[code]docker-compose down [/code]

总结

本文介绍了通过两种方法在 Docker 中部署 MySQL 数据库:通过 Docker CLI 命令和通过 Docker Compose 文件。每种方法都有其独特的优点,您可以根据项目需求和个人偏好选择得当的方式。

附:完整的 docker-compose.yml 文件内容

[code]version: '3.8' services: mysql: image: mysql:8.0 container_name: mysql-8.0 environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: my_database MYSQL_USER: run MYSQL_PASSWORD: 123456 ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql command: - mysqld - --character-set-server=utf8mb4 - --collation-server=utf8mb4_bin - --lower_case_table_names=1 networks: - mysql-network volumes: mysql-data: networks: mysql-network: driver: bridge [/code]

通过以上步调,您可以快速在 Docker 中部署 MySQL 数据库,确保开辟环境的灵活性和一致性。

到此这篇关于使用Docker部署MySQL数据库的两种方法的文章就介绍到这了,更多相干Docker部署MySQL数据库内容请搜索脚本之家从前的文章或继续欣赏下面的相干文章希望大家以后多多支持脚本之家!


来源:https://www.jb51.net/server/328878y5l.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 19:06 , Processed in 0.093294 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部