容器内修改镜像资源文件很困难,因为很多命令没有集成,只是把容器运行必备的命令给集成了。比如:想修改nginx容器中的配置文件,如何修改?此时数据卷出现了。
是一个虚拟目录,是容器内目录和宿主机(物理机)目录之间映射的桥梁。 用nginx做示例,把nginx中的html和conf配置文件做成数据卷,此时宿主机html和conf文件修改nginx容器中的也会跟着改变,双向绑定。
/var/lib/docker/volumes
// 时机:在创建容器的时候去挂载制作
docker run -d --name 容器自定义名称 -p 外网端口:容器端口 -v 数据卷名称:容器内要挂载的目录 镜像名称
注意:数据卷名称需要唯一,不能与其他数据卷名称一样。
制作nginx中静态目录html数据卷,制作完成,会返回一串字母数字:
docker volume ls
docker volume inspect 数据卷名称
此时,如果想修改nginx容器中index.html文件,只需要进入宿主机nginx数据卷目录: /var/lib/docker/volumes/index/_data,,修改即可:
此时宿主机更改,容器内也会同步修改效果完成,宿主机做的一切操作,容器也会同步。
docker volume rm 数据卷名称