一、操作步骤
1.建立挂载所需目录
# 配置文件 mkdir -p /home/app/mysql/conf # 数据存储 mkdir -p /home/app/mysql/data # 日志 mkdir -p /home/app/mysql/logs
2.新建配置文件
执行以下命令新建一个数据库的配置文件
vim /home/app/mysql/conf/my.cnf
将如下内容复制进去
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # The MySQL Server configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Custom config should go here !includedir /etc/mysql/conf.d/
3.run创建启动容器
# 下面是常用的msyql的三个版本 # mysql8.0.30 docker run --restart=always -d -v /home/app/mysql/conf/my.cnf:/etc/my.cnf -v /home/app/mysql/logs:/logs -v /home/app/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql8.0.30 -e MYSQL_ROOT_PASSWORD=super mysql:8.0.30 # mysql5.7.39 docker run --restart=always -d -v /home/app/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/app/mysql/logs:/logs -v /home/app/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql5.7.39 -e MYSQL_ROOT_PASSWORD=super mysql:5.7.39 # mysql:5.6.51 docker run --restart=always -d -v /home/app/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/app/mysql/logs:/logs -v /home/app/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql5.6.51 -e MYSQL_ROOT_PASSWORD=super mysql:5.6.51 # mysql:5.5.61 docker run --restart=always -d -v /home/app/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/app/mysql/logs:/logs -v /home/app/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql5.5.61 -e MYSQL_ROOT_PASSWORD=super mysql:5.5.61
以上参数解释
--restart=always -> 开机启动容器,容器异常自动重启 -d -> 以守护进程的方式启动容器 -v /home/app/mysql/conf.d/my.cnf:/etc/mysql/my.cnf -> 映射配置文件 -v /home/app/mysql/logs:/logs -> 映射日志 -v /home/app/mysql/data/mysql:/var/lib/mysql -> 映射数据 -p 3306:3306 -> 绑定宿主机端口 --name mysql8.0.30 -> 指定容器名称 -e MYSQL_ROOT_PASSWORD=super -> 初始化root密码
4.连接展示
5.参考连接
参考:参考信息1
