Docker实践笔记7:构建MySQL 8镜像

使用Docker构建MySQL 8镜像并运行容器

本教程将指导您使用Dockerfile构建和运行一个MySQL 8容器。让我们开始吧!

步骤1:创建Dockerfile

在您的项目根目录下创建一个名为Dockerfile的文件。以下是Dockerfile的示例内容:

复制代码
# 基于最新的MySQL镜像
FROM mysql:latest

USER root

# 设置MySQL版本号和端口号以及root用户密码
ENV MYSQL_ROOT_PASSWORD=123456
ENV MYSQL_MAJOR=8.0
ENV MYSQL_VERSION=8.0.26
ENV MYSQL_PORT=3306

# 复制MySQL配置文件到容器中
COPY src/my.cnf /etc/mysql/my.cnf

# 暴露MySQL端口号
EXPOSE $MYSQL_PORT

# 将本地/var/mysql5目录挂载到容器中的/var/lib/mysql目录
VOLUME ["/var/lib/mysql"]

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

步骤2:创建my.cnf文件

在src文件夹下创建一个名为my.cnf的文件,该文件包含MySQL的配置信息。您可以根据自己的需求进行配置。以下是一个示例配置:

复制代码
port=3306
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
user=mysql

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

步骤3:构建Docker镜像

打开终端,导航到包含Dockerfile的目录,并执行以下命令构建镜像:

复制代码
docker build -t mysql8 ./ 

这将基于最新的MySQL镜像创建一个名为mysql8的镜像。

步骤4:运行容器

使用以下命令运行刚刚构建的容器:

复制代码
docker run -itd --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /var/mysql:/var/lib/mysql mysql8

查看运行的容器

复制代码
bruce@bogon mysql5 % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f54f2f0f313 mysql8 "docker-entrypoint.s..." About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp mysql8

dockerfile源码下载

复制代码
https://gitee.com/ciarali/dockerFiles.git
相关推荐
就叫_这个吧10 分钟前
Java+MySQL+Mybatis+Junit4实现学生信息管理系统
java·mysql·mybatis
某林21213 分钟前
Isaac Lab (v2.3.2) Docker 本地化部署与底层排障全解析
运维·docker·容器·架构·iassc
暴力求解28 分钟前
MySQL---表的操作
数据库·mysql
可乐ea35 分钟前
【知识获取与分享社区项目 | 项目日记第 19 天】基于 Elasticsearch 实现关键词检索与业务权重排序
java·大数据·spring boot·mysql·elasticsearch·搜索引擎·全文检索
烟雨江南aabb36 分钟前
Docker第四弹:Dockerfile
linux·运维·docker
Database_Cool_1 小时前
从 MySQL 迁移到阿里云 AnalyticDB MySQL:零改造百倍加速实战教程
数据库·mysql·阿里云
iDao技术魔方3 小时前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
运维·docker·容器
跳动的世界线3 小时前
WSL 2 + Docker 本地全栈开发环境配置指南
运维·docker·容器
流星白龙3 小时前
【MySQL高阶】21.撤销表空间,撤销日志
android·mysql·adb
We Just Keep growing3 小时前
【MySQL运维篇】——日志、主从复制、分库分表、读写分离
java·运维·数据库·windows·学习·mysql