docker search mysql
docker pull mysql
docker images
cd /opt/ mkdir mysql_docker cd mysql_docker/ echo $PWD
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 33066:3306 mysql:latest -name:给新创建的容器命名,此处命名为mysqlserver -e:配置信息,此处配置mysql数据库的root用户的登陆密码 -p:端口映射,此处映射主机33066端口到容器mysqlserver 的3306端口 -d:成功启动容器后输出容器的完整ID,例如下图 d8cc59d9cbcffe4fdd860628a84d2b29a4592cc994fa694e5fceff247eb65f3c 最后面mysql指的是mysql镜像名字。
cd /var/lib/docker/containers/
docker ps -a
docker exec -it mysqlserver bash mysql -uroot -p
use mysql; select host,user from user; 备注: root的host必须为 % ,如果为localhost,执行sql update user set host = '%' where user = 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;
镜像里面 root用户已经有远程连接权限在里面,所以不需要去设置,只是模式不一样才导致无法连接,把root用户的密码改成 mysql_native_password 模式,即可远程连接
至此docker 安装mysql结束