原创

docker创建mysql应用

温馨提示:
本文最后更新于 2024年09月21日,已超过 26 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

拉取mysql5.7版本的镜像

查询当前docker中有那些镜像

docker images

如果没有则执行下面命令拉取镜像

docker pull mysql:5.7

准备所需要的目录和配置文件

mkdir -p /var/log/mysql
mkdir -p /var/lib/mysql
vi /etc/mysql/my.cnf

my.cnf配置文件内容

[mysqld]
# 数据目录
datadir=/var/lib/mysql
# 日志文件
log-error=/var/log/mysql/error.log
# 服务器ID(仅在使用复制时需要)
server-id=1
# 监听所有网络接口
bind-address=0.0.0.0
# 最大连接数
max_connections=200
# 默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=InnoDB
# InnoDB 存储引擎参数
innodb_buffer_pool_size=256M
innodb_log_file_size=50M
# 开启慢查询日志
slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow_queries.log

创建mysql

执行下面命令将创建一个mysql的docker应用

docker run --name mysql57 \
           -v /etc/mysql/my.cnf:/etc/mysql/conf.d/my.cnf \
           -v /var/lib/mysql:/var/lib/mysql \
           -v /var/log/mysql:/var/log/mysql \
           -e MYSQL_ROOT_PASSWORD=root \
           -p 3306:3306 \
           -d mysql:5.7

-v /etc/mysql/my.cnf:/etc/mysql/conf.d/my.cnf`

这个配置的意思是,将宿主机中/etc/mysql/my.cnf文件挂载到容器内的/etc/mysql/conf.d/my.cnf,修改宿主机中这个配置文件,容器内的配置文件也随之变化。

-e MYSQL_ROOT_PASSWORD=root

启动MySQL容器时,MySQL容器内部会自动设置root用户的密码为 root。这意味着在容器启动后,你可以使用用户名 root 和密码 root 来连接MySQL服务器

-p 3306:3306

将容器内3306端口映射到宿主机中3306端口中,当然你也可以修改MySQL的配置文件即my.cnf中的端口来调整mysql的端口号。

查询mysql容器运行情况

docker ps -a
正文到此结束
本文目录