您的位置:首页 > 运维架构 > Docker

Ubuntu16.04使用docker安装MySQL

2017-11-15 19:37 1016 查看
在安装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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu mysql docker