使用 Docker Compose 部署 MySQL 8.0

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 大家好!今天我们来讨论一下如何使用 Docker Compose 部署 MySQL 8.0。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它使得管理和部署复杂的应用程序变得更加简单。

docker-mysql.jpg
大家好!今天我们来讨论一下如何使用 Docker Compose 部署 MySQL 8.0。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它使得管理和部署复杂的应用程序变得更加简单。

MySQL 8 是一个功能强大的关系型数据库管理系统,而 Docker 则是一个流行的容器化平台。结合使用它们可以极大地简化 MySQL 8 的部署过程,并且确保开发环境和生产环境的一致性。

让我们开始吧!

安装 Docker 和 Docker Compose

首先,确保你的机器上已经安装了 Docker 和 Docker Compose。你可以从 Docker 官方网站下载并按照相应的说明进行安装。

创建 Docker Compose 文件

在你的项目目录下,创建一个名为 docker-compose.yml 的文件。在这个文件中,我们将定义 MySQL 8 的容器配置。

在 docker-compose.yml 文件中,添加以下内容:

version: '3.3'

services:

  mysql-db:
    # 指定容器的名称
    container_name: mysql     
    # 指定镜像和版本
    image: mysql:8.0                   
    ports:
      - "3306:3306"
    restart: always
    # 容器日志大小配置
    logging:
      driver: 'json-file'
      options:
        max-size: '5g'
    environment:
      # 配置root密码
      MYSQL_ROOT_PASSWORD: xj2022
    volumes:
      # 挂载数据目录
      - "./mysql/data:/var/lib/mysql" 
      # 挂载配置文件目录
      - "./mysql/config:/etc/mysql/conf.d"

在上述配置中,我们使用了 MySQL 8 的官方镜像,并指定了一个容器名称为 mysql。我们还设置了 MySQL 的 root 用户密码,并将主机的 3306 端口映射到容器的 3306 端口。此外,我们将 MySQL 的数据目录挂载到主机的 ./data 目录下,以便数据可以持久化保存。

启动容器

在命令行中,进入到你的项目目录,然后运行以下命令启动容器:

docker-compose up -d

这将会拉取 MySQL 8.0 镜像并启动一个新的容器。如果一切顺利,你应该能够看到容器正在运行。

连接到 MySQL

现在,你可以使用任何 MySQL 客户端工具连接到容器中的 MySQL 服务器。你可以使用以下连接信息:

主机:192.168.10.106
端口:3306
用户名:root
密码:你在 docker-compose.yml 文件中设置的密码

连接成功后,你就可以开始在 MySQL 8 中创建数据库、表格和执行查询了。

_20230713230426.png

总结

在本文中,我们学习了如何使用 Docker Compose 快速部署 MySQL 8。通过 Docker Compose,我们可以轻松地定义和管理多容器应用程序,并确保在不同环境中的一致性。希望这篇文章对你有所帮助!

如果你想深入学习 Docker Compose 或 MySQL,请查阅官方文档以获取更多信息。

谢谢阅读,祝你使用 Docker Compose 部署 MySQL 8.0 的成功!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1504 4
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
189 5
|
4月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
410 12
docker 部署 sftp
|
3月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1118 7
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
582 5
|
3月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
2677 8
|
3月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
687 4
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
270 60
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。