共计 1838 个字符,预计需要花费 5 分钟才能阅读完成。
开发过程中经常需要安装、调试 MySQL 数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在 docker 上运行一个 mysql 镜像,省却了我安装、找依赖的问题。
注:本文所有内容均在 CentOS Linux release 7.2.1511 (Core) 上测试完成
假设,你已经安装好 docker。如果没有安装好 docker 可以参考centos7 上安装 docker
使用
docker pull mysql
获得 mysql 镜像,接着使用
docker images
查看镜像列表,如下
使用
docker run -itd -P mysql bash
启动 mysql 镜像,docker run是启动容器的命令;i是交互式操作,t是一个终端,d指的是在后台运行,-P指在本地生成一个随机端口,用来映射 mysql 的 3306
端口,mysql指运行 mysql 镜像,bash指创建一个交互式 shell。
使用
docker ps -a
查看已经运行的 docker 镜像,如下
从途中可以看到 mysql 镜像的 3306 端口绑定了本地的 32773 端口,因此就说如果你要在局域网中访问 docker 中的 mysql 数据库就需要使用 服务器 IP:32773来进行访问。
使用命令
docker exec -it sick_hawking bash
连接到 mysql 镜像中,
docker exec
是 docker 镜像的连接命令,类似于 ssh 一样的命令,sick_hawking是镜像的名字,镜像每次启动都必须有一个名字,该名字可以手动指定也可以自己生成。
连接成功以后,如下,
图中就已经进入到了 docker mysql 镜像中,使用
service mysql status
查看 mysql 的启动状态,如下,
mysql 没有启动可以使用
service mysql start
, 如下,
输入 mysql 验证 mysql 是否启动成功,如下,
到此为止,docker 中的 mysql 已经启动成功。
如何在外部使用 root 连接这个 mysql?
为了安全,首先需要设置 root 帐号的密码,如下
update user set authentication_string = password('root') where user = 'root';
将 root
的密码改为 root
。
接着,由于 mysql 中 root 执行绑定在了localhost
,因此需要对 root 进行授权,代码如下,
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
最后,使用 navitecat 测试 mysql 连接,如下,
连接成功,说明 docker 中的 mysql 可以在局域网中使用。
完。
更多 Docker 相关教程见以下内容:
Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 16.04 服务器上配置使用 Docker http://www.linuxidc.com/Linux/2017-06/145176.htm
Ubuntu 15.04 下安装 Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
Docker 安装实例 http://www.linuxidc.com/Linux/2017-04/142666.htm
Docker 创建基础镜像 http://www.linuxidc.com/Linux/2017-05/144112.htm
在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm
Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm
使用 Docker 分分钟启动常用应用 http://www.linuxidc.com/Linux/2017-04/142649.htm
Ubuntu 16.04 下 Docker 修改配置文件不生效解决办法 http://www.linuxidc.com/Linux/2017-05/143862.htm
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146658.htm