在Docker上安装部署和运行MySQL
MySQL 简述
MySQL是一款使用广泛的开源的关系型数据库,现属于Oracle公司的旗下。相比于Oracle数据库,MySQL更轻巧,有免费的社区版本。MySQL性能也不错,运行稳定,成为了中小型企业的首选。
在 Docker 创建并运行 MySQL 容器
在Docker Hub上有MySQL官方提供的MySQL镜像,以及说明文档。可以在上方的搜索框里输入想要查看的镜像信息。
在上方输入”MySQL”进行搜索。看到第一个就是MySQL。它的右上角有”OFFICIAL IMAGE”字样,表面是官方镜像。下面还有它的更新时间,说明,运行平台,下载量和标星量。
点击它进入了它的说明文档页面。右方的命令是使用Docker拉取最新版的MySQL镜像。下方就是具体的说明了。下面以部署MySQL5.7为例来进行具体操作。
快速拉取并运行MySQL的命令和说明如下:
1 | docker run --name mysql -p 63306:3306 -v /root/volume/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 |
命令,参数,选项 | 说明 |
---|---|
docker | Docker的命令。 |
run | 运行一个镜像,如果没有会先进行下载再运行。 |
–name | 给创建的容器起名字。以后可以使用这个名字进行操作。如果不指定则自动生成一个uuid作为名字。–name mysql:给容器起名为mysql。 |
-p | 映射要暴露的端口。-p 63306:3306:将容器的3306端口映射到主机的63306端口上,访问时直接使用主机的IP和映射的63306端口。 |
-v | 将容器里的一个目录挂载到主机中的一个目录。这样就可以直接通过访问主机的目录来查看容器里的文件了,挂载的文件也不会因为删除了容器而丢失。-v /root/volume/mysql:/var/lib/mysql:将容器里的”/var/lib/mysql”目录挂载到主机的”/root/volume/mysql”。 |
-e | 给容器传递环境变量,具体可以传递的变量参考镜像的文档。-e MYSQL_ROOT_PASSWORD=root:给mysql容器传递名为 “MYSQL_ROOT_PASSWORD” 值为 “root”的环境变量。通过这个变量,可以设置MySQL的管理员密码。 |
-d | 以后台方式运行容器,不打印控制台日志。 |
mysql:5.7 | 使用的镜像是mysql版本为5.7。 |
运行命令后等待运行完毕。
配置防火墙开放63306端口。在MySQL客户端中进行测试连接。如果连接成功说明MySQL已经正常运行了。
查看当前运行的 Docker 容器
使用 docker ps
命令进行查看。可以看到当前运行的容器的ID,使用的镜像名称,创建时间,运行时间,端口暴露情况和容器的名称。也可以使用使用 docker ps -a
来查看所有的容器。
停止一个 Docker 容器
首先需要知道要停止的容器ID或名称。使用 docker stop
命令。例如 docker stop mysql
或 docker stop c8f717ace7b9
停止容器。
运行一个 Docker 容器
首先需要知道要启动的容器ID或名称。使用 docker start
命令。例如 docker start mysql
或 docker start c8f717ace7b9
运行容器。
删除一个 Docker 容器
首先需要知道要删除的容器ID或名称。删除前需要先停止容器。使用 docker rm
命令。例如 docker rm mysql
或 docker rm c8f717ace7b9
删除容器。
查看下载的 Docker 镜像
使用 docker images
命令进行查看。可以看到镜像的名称,版本,镜像ID,创建时间和大小信息。
下载一个 Docker 镜像
下载前需要知道要下载的镜像名称。可以去Docker Hub上进行搜索。使用 docker pull
命令下载。例如 docker pull mysql:5.7
就是下载MySQL镜像,版本为5.7。如果不指定版本则为最新版。
删除一个 Docker 镜像
首先需要知道要删除的镜像ID。并且还要先删除使用了这个镜像的容器。使用 docker rmi
命令。例如 docker rmi ba7a93aae2a8
。执行后会出现删除信息。
部署Docker 官方镜像的容器就是这么简单。根据官方文档进行操作即可。通过Docker部署中间件省时省力。还可以在现有镜像上按需要添加新的功能,构建新的镜像。至于如何创建自己的镜像,请听下回分解。