【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

可以看到并没有报错
查看当前数据卷

很明显,运行容器时,自动把不存在的数据卷也创建 了
看看页面

没毛病,恢复了

数据卷挂载方式: