1.查找镜像:

 docker search mysql

也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/

2.下载镜像(如上一步,可以指定想要的版本,不指定则为最新版):

docker pull mysql

3.通过镜像创建容器并运行:

mkdir -p /usr/local/docker-mysql/conf
mkdir -p /usr/local/docker-mysql/conf.d
mkdir -p /usr/local/docker-mysql/logs
mkdir -p /usr/local/docker-mysql/data


docker run -p 3306:3306 --name mymysql -v /usr/local/docker-mysql/conf:/etc/mysql/conf.d -v /usr/local/docker-mysql/logs:/logs -v /usr/local/docker-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

  • -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

此时,用navicat for mysql连接mysql发现报错:Client does not support authentication protocol requested  by server。。。

解决方案:

进入容器:

docker exec -it 62349aa31687 /bin/bash

进入mysql:

mysql -uroot -p
mysql>grant all privileges on *.*  to  'root'@'%'  identified by 'root'  with grant option;
mysql>flush privileges;
 
如果是mysql8 
https://www.cnblogs.com/brady-wang/p/11561300.html 这里授权

最新文章

  1. iphone 下滚动条卡顿解决办法
  2. 线段树——Ultra-QuickSort
  3. fragment入门
  4. Android中基于Socket的网络通信
  5. IDE 常用快捷键记录
  6. Android模仿jquery异步请求
  7. LeetCode OJ 45. Jump Game II
  8. css中设置div垂直水平居中的方法
  9. CNPM 遇到use strict的问题
  10. 64位Win10系统安装Mysql5.7.11
  11. 常用的Java转义字符
  12. ansible基础-变量
  13. 聊聊找AI算法岗工作
  14. TextView不用ScrollViewe也可以滚动的方法
  15. UDF简记
  16. mongodb集群性能优化
  17. python object对象
  18. django 返回json数据
  19. Java 源码赏析 - java.lang - Void
  20. Spring 之 IOC

热门文章

  1. seajs1.3.0源码解析之module依赖有序加载
  2. ui自动化---CssSelector
  3. tsconfig.json无法写入webpack.config.js 因为它会覆盖输入文件。
  4. get、post请求方式在postman中使用步骤
  5. 《Offer一箩筐》2W字总结面试套路14问——不给例子的教程都是耍流氓!!
  6. IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)
  7. Node.js 从零开发 web server博客项目[数据存储]
  8. hystrix(2) metrics
  9. 9.Kafka API使用
  10. 01.vue数据绑定