微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 10 使用Docker
- 10.9 数据卷挂载案例2
- 10.9.1 直接开干
- 10.9.2 数据卷挂载的方式对比
- 10.9.3 总结
10 使用Docker
10.9 数据卷挂载案例2
10.9.1 直接开干
创建并运行一个MySQL容器,将宿主机目录【不一定是数据卷】直接挂载到容器
提示:目录挂载与数据卷挂载的语法是类似的:
- -v [宿主机目录]:[容器内目录]
- -v [宿主机文件]:[容器内文件]
实现思路如下:
-
在将课前资料中的mysql.tar文件上传到虚拟机,通过load命令加载为镜像
-
创建目录/tmp/mysql/data
-
创建目录/tmp/mysql/conf,将课前资料提供的hmy.cnf文件上传到/tmp/mysql/conf
-
去DockerHub查阅资料,创建并运行MySQL容器,要求:
①挂载/tmp/mysql/data到mysql容器内数据存储目录
②挂载/tmp/mysql/conf/hmy.cnf到mysql容器的配置文件
③设置MySQL密码
就是它了
直接拖到tmp 目录下【很离谱,笔者用的finalshell 非常慢】【当然也有可能是带宽限制,毕竟黑马老师用的是本地虚拟机,笔者用的是真的服务器】
试试xftp
等待上传完成
OK
加载镜像
docker load -i mysql.tar
OK,可以看到版本是5.7.25
创建两个目录
[root@dingjiaxiong tmp]# mkdir -p mysql/data [root@dingjiaxiong tmp]# mkdir -p mysql/conf
OK
上传配置文件到 conf 目录下
OK
【运行MySQL 容器】
查看官方文档:https://hub.docker.com/_/mysql
往下滑
小改一下
先看看容器中的配置目录
OK,数据目录
OK
所以总的启动容器命令:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=200039 -p 3306:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25
OK
先开个端口
OK,看看现在的data 目录
OK
现在在本机上用Navicat 尝试连接
没毛病,之后就是使用了
10.9.2 数据卷挂载的方式对比
一个自动化但隐藏了细节,一个实现了细节但是是手动
10.9.3 总结
- docker run的命令中通过 -v 参数挂载文件或目录到容器中:
①-v volume名称:容器内目录
②-v 宿主机文件:容器内文件
③-v 宿主机目录:容器内目录
- 数据卷挂载与目录直接挂载的
①数据卷挂载耦合度低,由docker来管理目录,但是目录较深,不好找
②目录挂载耦合度高,需要我们自己管理目录,不过目录容易寻找查看