微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 10 使用Docker
- 10.8 数据卷挂载案例1
- 10.8.1 挂载数据卷
- 10.8.2 案例
- 10.8.3 总结
10 使用Docker
10.8 数据卷挂载案例1
10.8.1 挂载数据卷
我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器目录
【举个栗子】
docker run \
--name mn \
-v html:/root/html \
-p 8080:80
nginx \
- docker run :就是创建并运行容器
- – name mn :给容器起个名字叫mn
- -v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中
- -p 8080:80 :把宿主机的8080端口映射到容器内的80端口
- nginx :镜像名称
10.8.2 案例
创建一个nginx容器,修改容器内的html目录内的index.html内容
需求说明:上个案例中,我们进入nginx容器内部,已经知道nginx的html目录所在位置/usr/share/nginx/html ,我们需要把这个目录挂载到html这个数据卷上,方便操作其中的内容。
提示:运行容器时使用 -v 参数挂载数据卷
步骤:
①创建容器并挂载数据卷到容器内的HTML目录
先创建一个数据卷先
OK, 新创建Nginx 容器并挂载数据卷
docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx
②进入html数据卷所在位置,并修改HTML内容
可以看到, 已经关联【挂载】成功了
修改html内容
这次就不用vi 了,我直接用本地的工具修改
OK,保存
其实finalshell 也不错
这里设置好用nodepad ++ 打开文件
这样就过来了
修改完毕后,保存
直接访问Nginx
OK, 没毛病
【验证一个问题:如果创建容器时,数据卷不存在,会怎么样?】
先把mn 容器也就是现有的那个Nginx 容器删掉
然后把现在有的数据卷也删掉
OK
这次直接创建Nginx 容器
docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx
可以看到并没有报错
查看当前数据卷
很明显,运行容器时,自动把不存在的数据卷也创建 了
看看页面
没毛病,恢复了
10.8.3 总结
数据卷挂载方式:
- -v volumeName: /targetContainerPath
- 如果容器运行时volume不存在,会自动被创建出来