docker 使用教程2-(Docker安装MySQL)
上一篇 Docker使用教程1 通过hello-world 例子入门Docker的常用操作和基本概念。
本篇 采用Docker安装MySQL软件来进一步理解 Docker容器是什么:
下一篇 Docker使用教程2 通过安装配置Nginx来学习如何拷贝文件到容器当中
学习docker最好的方法就是:敲几个命令,运行几个容器,通过这个过程来解答心中的困惑,通过实际操作进一步掌握Docker。
一、docker hub 的使用
Docker Hub 是docker的镜像仓库,官方地址 https://hub.docker.com/,里面可以查询到所有能拉取的镜像仓库。
①:进入官网、搜寻 MySQL仓库
②:进入列表的mysql
③:选择Tags 即可查看所有版本
二、Docker安装MySQL8
①:拉取mysql镜像指定版本
docker pull mysql:8.0.22
②:运行mysql
docker run -p 3306:3336 --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.22
参数说明:
-p | 指定端口映射,格式为:主机端口:容器端口 |
--name | 设置容器名称 |
-e | 设置容器的环境变量(MYSQL_ROOT_PASSWORD=123456 是设置root用户密码为123456) |
-d | 后台运行 |
③:进入容器
docker exec -it mysql-test bash
参数说明:
-i | 即使未连接标准输入也保持打开状态 |
-t | 分配一个伪终端 |
bash | 通过bash交互式运行 |
进入容器之后执行ls命令:
root@3b47e1868dbd:/# ls bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
可以看到容器内部犹如外部的linux文件系统包含了 home、lib、bin、etc. . .等目录
到这里再来回想为什么容器是相互隔离的,这里不用考虑docker是采用什么技术实现的容器隔离,上面的文件就是该应用所需的全部依赖,那么只需要给该容器开辟很少的资源就能实现容器内的应用的运行,这就解释了为什么容器启动那么快,占用的资源那么少。
进入mysql:
mysql -uroot -p123456
退出mysql:
exit;
④:退出容器
exit
⑤:连接容器内的MySQL
这里使用 Navicat 连接 容器内的 mysql,输入地址、端口(注意端口号)、用户名、密码,测试连接