从镜像仓库中拉取
docker pull mysql:5.6
列出本地镜像
列出刚拉取的远程镜像
docker images
查看隐藏的中间镜像
docker images -a
创建一个新的容器并运行一个命令
命令一
docker run --privileged --restart=always -itd -p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456
-v /usr/local/mysql/conf:/etc/mysql/conf.d
-v /usr/local/mysql/data:/var/lib/mysql
-v /usr/local/mysql/logs:/logs
--name mysql56 mysql:5.6
命令二
docker run --privileged --restart=always -itd -p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456
-v /usr/local/mysql/conf:/etc/mysql/conf.d
-v /usr/local/mysql/data:/var/lib/mysql
-v /usr/local/mysql/logs:/logs
--name mysql56 mysql:5.6
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
参数说明
- –privileged:获取宿主机root权限(特殊权限)
- –restart=always:docker重启时容器自动启动
- -itd
- -i: 交互式操作
- -t: 终端
- -d:后台运行容器,并返回容器ID、
- -p:将容器端口映射到宿主机端口
- -e:设置环境变量
- -v: 绑定一个卷
- –name:为容器指定一个名称
特别说明:
命令一中并没有设置MySQL的字符集,生成容器后,需要到容器中修改MySQL配置以达到字符集为utf8
命令二可通过在生成MySQL:5.6容器之后执行修改容器内MySQL的字符集。注意:位置不能随意调换,因为设置字符集是MySQL容器做的操作,而不是docker
列出容器
docker ps
进入容器
docker exec -it mysql56 bash
mysql56为刚生成的容器名称,记得保证唯一性。
内部访问
mysql -uroot -p
查看字符集
show variables like '%char%';
bingo~~
MySQL5.6容器安装就告一段落了。