下载Mysql镜像
格式为docker pull mysql:[version]
,需要docker已经启动
docker pull mysql:5.7
创建实例并启动
docker run -p 0.0.0.0:3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
运行后可使用docker ps
查看已经启动的镜像
访问docker容器
执行如下命令通过命令行交互方式进入docker容器
docker exec -it mysql /bin/bash
自定义配置
在宿主机或docker容器中均可操作,需要在启动容器是指定的配置文件目录下新建my.cnf
配置文件,并写入以下内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
保存完成后,执行docker restart mysql
重启容器,配置文件便会被mysql服务端载入
可能遇到的问题
启动过程中如果出现 WARNING: IPv4 forwarding is disabled. Networking will not work.
警告,即使启动成功也无法连接到数据库,需进行如下操作进行处理:
vi /etc/sysctl.conf
或者
vi /usr/lib/sysctl.d/00-system.conf
在其中添加如下配置:
net.ipv4.ip_forward=1
添加成功后,重启网络服务,再重新启动docker容器即可
systemctl restart network