1.获取mysql镜像
首先查询需要的mysql镜像
可以从 Docker Hub 上查看 所有 Mysql 的版本 ,同理也可以查询各个版本使用的详细命令
2.mysql镜像下载
[[email protected] ~]# docker pull mysql:latest
Trying to pull repository docker.io/library/mysql ...
5.5: Pulling from docker.io/library/mysql
be8881be8156: Pull complete
c3995dabd1d7: Pull complete
9931fdda3586: Pull complete
bb1b6b6eff6a: Pull complete
a65f125fa718: Pull complete
b5332dacc087: Pull complete
77378af32110: Pull complete
c863c888ab89: Pull complete
970e89bcad84: Pull complete
199374dd7b11: Pull complete
daf925b4c8c8: Pull complete
Digest: sha256:973d09f802e90069f4090578bbfb5f1cc095d5c14bdd0bb2651d5e448751f907
Status: Downloaded newer image for docker.io/mysql:latest
[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest c43b4117afc4 2 weeks ago 205 MB
[[email protected] ~]#
3.Mysql 容器运行
首先查看mysql镜像
注意:运行mysql容器:必须指定 root 密码、或者允许密码为空、或者使用随机密码
运行方式
1、Docker Hub 上 Mysq 官方 提供的启动命令如下所示 ,需要使用 -e 参数指定 roor 账户密码进行启动
$ docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 -d mysql:latest
如下所示,此时 mysql 容器运行是成功的,但是《 Docker 容器操作 常用命令》中已经说过,此时启动的 3306 端口是 Mysql 镜像在容器内部的端口,外部访问必须进行端口映射(切记)
端口映射加上 -p 参数即可,可以参考《 Docker 容器操作 常用命令》
如上所示做了端口映射后,就可以从外部访问 Docker 容器内部的 Mysql 了,但是如果要从 CentOS 服务器外部访问,则还需要 CentOS 服务器开放 3306 端口
最后连接测试
如下所示,从 Windows 上使用 Navicat 连接虚拟机 CentOS 中 Docker 中的 Mysql