1、下载 mysql
$ docker pull mysql 默认安装最新版本的mysql(注意可能不是稳定版本)
$ docker pull mysql:版本号 安装指定版本的mysql
## 此处以安装mysql5.7为例,命令为:
$ docker pull mysql:5.7
2、创建实例并启动
$ docker run -p 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
参数说明:
-p 3306:3306 将容器的3306端口映射到主机的3306端口
--name mysql 将安装的容器指定名为“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 初始化root用户的密码为“root”
-d mysql:5.7 指定使用“mysql5.7”版本
3、新增mysql配置
$ vi /mydata/mysql/conf/my.cnf 进入docker外部挂载的mysql配置文件
常用的mysql配置如下:
## MYSQL常用配置
[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
4、重启docker内部的mysql容器,使新增的配置生效。
$ docker restart mysql
5、设置Docker容器启动,自动启动mysql
sudo docker update mysql --restart=always
6、Docker常用命令
$ docker images 查看docker已安装的容器列表
$ docker ps 查看运行中的容器
$ docker ps -a 查看所有容器
$ dokcer exec -it mysql bash 进入mysql容器内部