【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器目录
【举个栗子】
docker run \
--name mn \
-v html:/root/html \
-p 8080:80
nginx \
创建一个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
可以看到并没有报错
查看当前数据卷
很明显,运行容器时,自动把不存在的数据卷也创建 了
看看页面
没毛病,恢复了
数据卷挂载方式: