使用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