构建MySQL8.0.26镜像和容器

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL8.0.26 percona-toolkit Dockerfile

仓库地址 https://gitee.com/infuq/infuq-dockerFile
语雀地址 https://www.yuque.com/infuq/others/ivmss0#o95lj
个人站点 https://www.infuq.com/

本意想通过Percona工具集中的pt-query-digest工具分析生产阿里云RDS MySQL的慢日志和通用日志,但是无法查看和下载该类日志文件,因此在本地机器使用Docker构建一个MySQL8.0.26的容器,用于学习pt-query-digest工具的使用.

1.Dockerfile文件内容

#镜像源
FROM mysql:8.0.26

USER root

# 设置MySQL的版本号/端口号/密码
ENV MYSQL_MAJOR=8.0
ENV MYSQL_VERSION=8.0.26
ENV MYSQL_PORT=3306
ENV MYSQL_ROOT_PASSWORD=9527

# 暴露MySQL的端口号
EXPOSE $MYSQL_PORT

# 启动MySQL服务
CMD ["mysqld"]

2.创建相关目录
mkdir -p /etc/mysql8.0/data
mkdir -p /etc/mysql8.0/conf
mkdir -p /etc/mysql8.0/tool

图片.png

3.mysqld.cnf文件和percona-toolkit-2.2.17目录

图片.png

mysqld.cnf文件内容

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql

symbolic-links  = 0

wait_timeout            = 3200
interactive_timeout     = 3200

4.构建

docker build -t mysql:8.0.26 ./

图片.png

5.创建容器并启动

sudo docker run \
-d \
-p 3306:3306 \
-v /etc/mysql8.0/data:/var/lib/mysql \          #存放数据库数据和文件
-v /etc/mysql8.0/conf:/etc/mysql/conf.d \       #存放配置文件,例如配置客户端连接超时时间等
-v /etc/mysql8.0/tool:/home \                   #存放第三方工具,例如percona-toolkit
-e MYSQL_ROOT_PASSWORD=9527 \
--name mysql8.0.26 \
mysql:8.0.26

图片.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
存储 Ubuntu 应用服务中间件
在Docker中,怎么快速查看本地的镜像和容器?
在Docker中,怎么快速查看本地的镜像和容器?
|
2天前
|
缓存 开发者 Docker
Dockerfile是Docker容器化过程中的核心组件,它允许开发者以一种可重复、可移植的方式自动化地构建Docker镜像
【8月更文挑战第19天】Dockerfile是构建Docker镜像的脚本文件,含一系列指令定义镜像构建步骤。每条大写指令后跟至少一个参数,按序执行,每执行一条指令即生成新的镜像层。常用指令包括:FROM指定基础镜像;RUN执行构建命令;EXPOSE开放端口;CMD指定容器启动行为等。优化策略涉及减少镜像层数、选择轻量基础镜像、利用缓存及清理冗余文件。示例:基于Python应用的Dockerfile包括设置工作目录、复制文件、安装依赖等步骤。掌握Dockerfile有助于高效自动化构建镜像,加速应用部署。
12 1
|
8天前
|
运维 监控 Devops
构建高效自动化运维体系:DevOps与容器化实践
【7月更文挑战第44天】在现代IT基础设施管理中,自动化运维已成为提升效率、降低成本、确保系统稳定性的关键。本文将探讨如何通过结合DevOps理念和容器化技术来构建一个高效的自动化运维体系。我们将分析这一体系对提高软件交付速度、优化资源利用率以及增强系统可靠性的积极影响,并提供一系列实施策略和最佳实践,帮助企业实现运维自动化转型。
|
15天前
|
存储 Kubernetes 调度
通过重新构建Kubernetes来实现更具弹性的容器编排系统
通过重新构建Kubernetes来实现更具弹性的容器编排系统
34 8
|
20天前
|
机器学习/深度学习 人工智能 安全
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
阿里云 AI 容器镜像有开箱即用、生态丰富、性能优化、安全合规和服务支持五大优势。
|
18天前
|
运维 Ubuntu Shell
Docker命令宝典:解锁容器化技术的无限可能,从镜像管理到容器操作,全面解析与实战指南!
【8月更文挑战第3天】Docker简化了应用的部署与运行,掌握其基本命令对开发者和运维人员至关重要。通过`docker images`可查看本地镜像;使用`docker pull`拉取如最新版Ubuntu镜像;`docker rmi`用于删除不再需要的镜像。运行容器可通过`docker run`命令,结合`-it`等选项提供交互式环境。`docker ps`显示运行中的容器,加上`-a`则列出所有容器。`docker stop`和`docker start`分别用于停止和重启容器,而`docker rm`则删除容器。
44 5
|
13天前
|
SQL 关系型数据库 MySQL
MySQL运行在docker容器中会损失多少性能
MySQL运行在docker容器中会损失多少性能
|
10天前
|
Docker 容器
Docker cp 将宿主机上的文件复制到容器中
Docker cp 将宿主机上的文件复制到容器中
12 0
|
5天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
1天前
|
Shell 调度 Docker
在Docker中,如何清理批量后台停止的容器?
在Docker中,如何清理批量后台停止的容器?

热门文章

最新文章