首页 > 代码库 > MySQL学习2 使用docker建立mysql服务

MySQL学习2 使用docker建立mysql服务

在centos 7的服务器上运行

yum install docker 

安装完docker后,运行

service docker start 启动docker

由于公司的服务器连接dockerhub一直有些问题,估计是gfw导致的,所以只能下载一个国内的镜像

https://hub.tenxcloud.com/ 大家可以到时速云搜索自己需要的image

我选择了star最高的一个mysql的镜像

使用以下命令将mysql的image下载到了本地

docker pull index.tenxcloud.com/tenxcloud/mysql

完成后,在本地可以使用docker images查看镜像

技术分享

镜像完成下载后,现在可以在本地将docker镜像拉起来了

在时速云上也有详细的启动docker的命令可查看

可参考这个url

https://hub.tenxcloud.com/repos/tenxcloud/mysql

但是教程上写的启动命令是

docker run -d -p 3306:3306 tutum/mysql 

但是不能直接执行,

具体的命令如下,需要将镜像地址改成你之前在本地docker images后显示的地址

是因为,时速云上这个image是tutum/mysql 的国内镜像,如果我们在本地使用,

不能直接执行这个(时速云也够偷懒的,估计是直接抄dockerhub过来,也不注释一下)


docker run -d -p 3306:3306 index.tenxcloud.com/tenxcloud/mysql

解释一下命令,-d 是后台运行,-p 是将容器内的3306端口映射到docker host的3306端口, 举个栗子,如果你的docker host主机的ip是192.168.0.1 那么你从其他的服务器上访问运行在192.168.0.1上的这个mysql的docker服务,只需要访问192.168.0.1:3306即可。

运行完成后,可以使用docker ps查看docker的运行状态

技术分享


可以看到使用index.tenxcloud.com/tenxcloud/mysql的镜像启动了一个contatner id为20c1b8a3ad3a的容器(请忽略启动时间,这个容器我是从我测试环境直接截图的),names是系统随机给的

现在容器启动起来了,我们可以在外部使用mysql workbench连接这个mysql服务,或者进入到容器内,使用mysql命令进行一些操作

我们先使用docker exec命令进入到这个容器内,具体命令格式如下

docker exec –it 容器id  /bin/bash

其中it 是指启用交互模式 , /bin/bash是进入后使用bash

技术分享

进入容器后,显示如下终端提示,其中@后是容器id号,在容器里可以执行大多的linux命令

技术分享

运行mysql命令

技术分享

运行SHOW DATABASES;

技术分享

可以看到这台mysql服务器里所建立的库了。

我们再试一下使用mysql workbench连接数据库

先安装完mysql workbench,使用mysql workbench 连接mysql会发现,不知道mysql的admin账号是什么

我们再回到https://hub.tenxcloud.com/repos/tenxcloud/mysql 上面详细写了初始账号的信息

用户名是admin,但是密码是随机的。我们需要通过docker logs去查看这个密码

技术分享

 

我们使用docker logs 容器id号 查看容器的日志,密码出现在日志里。

技术分享

我们使用admin和日志里查到的密码连接mysql库

妥妥的连上了,建库建表啥的都可以在图形界面下完成。

docker 版本的mysql基本可以使用了。

技术分享

MySQL学习2 使用docker建立mysql服务