wfkjxy 发表于 2018-10-2 12:45:44

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>  现在容器启动起来了,我们可以在外部使用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基本可以使用了。


页: [1]
查看完整版本: MySQL学习2 使用docker建立mysql服务