Ubuntu16.04使用docker安装MySQL(详细)

在安装MySQL时,自己按照别人的教程不管是安装mysql5.5还是mysql5.7总是在登录时遇到以下错误:

$ mysql -u root -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)

不管自己是完全卸载后重新使用安装包安装,还是使用apt-get install安装,都会出现这样的错误。自己花了几乎一天的时间还没有搞定。后来,师兄告诉我可以使用docker安装mysq,方法l特别简单。自己尝试以后,成功了,非常感谢师兄~
自己以前也听说过docker,但是从未使用过,于是从头开始通过Docker 教程|菜鸟教程学习了docker的一些基础知识,并且很快就能上手使用docker安装mysql了。自己在安装的过中还是与教程有不同的地方,希望给大家做一个参考。

##使用docker pull mysql安装mysql

① 查找Docker Hub上的mysql镜像

使用以下命令查找mysql镜像(因为自己需要sudo才能使用docker相关命令,所以自己的docker命令之前都会有sudo):

$ sudo docker search mysql

结果如下图所示:
这里写图片描述

② 拉取官方镜像

使用如下命令拉取官方的mysql镜像:

$ sudo docker pull mysql

拉取结果如下图所示:
这里写图片描述
可以使用如下命令查看mysql镜像的相关信息:

$ sudo docker images  

结果如图所示:
这里写图片描述

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小
    可以本地镜像列表里查到REPOSITORY为mysql,标签为latest的mysql镜像。
③ 使用容器运行mysql镜像
$ sudo docker run --name mysqldb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

这里的容器名字叫:mysqldb,mysql的root用户密码是:123456,映射宿主机子的端口3306到容器的端口3306,仓库名mysql和标签(tag)latest唯一确定了要指定的镜像。注意:就算这里只有一个mysql也有必须要有tag,执行该命令返回的结果是:

ecc81474cf2d0e66018cfdafdd7fac79ebb1574682ec662bff20b4a11a573866
  • 注意:原本在菜鸟教程中此处运行容器的命令为:
$ sudo docker run -p 3306:3306 --name mymysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

但是自己执行之后会报错:
这里写图片描述

④ 查看容器启动情况

使用如下命令可以查看该容器的启动情况:

$ sudo docker ps 

结果如图所示:
这里写图片描述

至此,使用docker安装mysql的工作就已经完成了。
以后使用如下命令开启并执行名为mysqldb的容器:

$ sudo docker start mysqldb
$ sudo docker exec -it mysqldb /bin/bash

使用如下命令关闭名为mysqldb的容器:

$ sudo docker stop mysqldb

⑤ mysql简单交互
(1)输入命令连接mysql:

$ mysql -u root -p

Enter password:处 ,输入刚刚设置的密码123456
在这里插入图片描述
(2)退出mysql

$ exit   #退出mysql交互环境,对应的是**mysql -u root -p**命令
$ exit  #退出名为mysqldb的容器,对应的是**sudo docker exec -it mysqldb /bin/bash**命令

在这里插入图片描述

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值