Liunx用Docker安装mysql
docker中创建容器
一.docker的基本使用
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过uname -r 查询内核版本
在拉取镜像之前一定要设置拉去的国内地址(默认国外的很慢)
修改或创建daemon.json文件:vi /etc/docker/daemon.json
将以下配置写入到文件中,保存并退出(不会操作的百度下vi命令吧):
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
重启docker:systemctl restart docker.service
1.安装docker
yum install docker
2.删除docker
yum remove docker
3.启动docker
systemctl start docker
systemctl enable docker
4.停止docker
systemctl stop docker
5.重启docker服务
systemctl restart docker.service
6.查询镜像
docker search 镜像名称:tag(例如:docker search mysql:tag)
tag代表版本号,可以省略,默认是最新的latest
7.拉取镜像
docker pull 镜像名称:tag(例如:docker pull mysql)
8.查看镜像
docker images
9.删除镜像
docker rmi 镜像名称:tag
二.制作容器
容器的制作都是一样的,各个容器之间大同小异,以下列举一种常用的容器
制作mysql容器
1.查看是否存在mysql容器
docker images
2.如果存在制作容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
3.查看容器
docker ps
4.查看所有容器
docker ps -a
5.第二点的参数解释
--name 容器的名字,随便给,但是为了好记一般是镜像名
-p 映射端口 第一个3306是映射的端口,可以自己给定,第二个3306代表镜像 本身的端口号,不能随便写
-e 参数 一般不需要给定,有些必须要制定,就像mysql必须指定密码
-d 表示后台运行
6.进入容器内部
docker exec -it mysql /bin/bash
7.使用navicat连接mysql的时候会出现错误
Authentication plugin 'caching_sha2_password'cannot be loaded
原因:即从mysql5.7版本之后,默认采用了caching_sha2_password验证方式
解决方法:
1.修改密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
2.刷新:
flush privileges;