Docker 容器挂载 Volume

  • 特点:Docker管理宿主机文件系统的一部分 /var/lib/docker/volumes 保存数据的最佳方式

多个运行容器之间共享数据
当容器停止或者被移除后,改卷依然存在
多个容器可以同时挂载相同的卷
当明确删除卷时,卷才会被删除
将容器的数据存储在远程主机或其他存储上
将数据从一台Docker主机迁移到另一台时,先停止容器,然后备份卷目录/var/lib/docker/volumes

  • 创建数据卷

#查看当前主机数据卷
docker volume ls

#使用数据卷 可以先创建数据卷 如果不创建直接指定会自动给创建
#创建数据卷
docker volume create nginx_vol
docker volume ls
docker volume inspect nginx_vol

#查看数据卷目录
[root@cetus volumes]# docker volume inspect nginx_vol
[
    {
        "CreatedAt": "2019-10-05T09:21:40+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/nginx_vol/_data",
        "Name": "nginx_vol",
        "Options": {},
        "Scope": "local"
    }
]
#Mountpoint 地址就是数据实际地址

  • 创建容器和测试

#创建容器 --mount src指定挂载数据卷   dst网站目录
docker run -d --name nginx1 -p 88:80  --mount src=nginx_vol,dst=/usr/share/nginx/html nginx
#docker run -d --name nginx1 -p 88:80  -v nginx_vol:/usr/share/nginx/html nginx

#查看挂载
docker inspect nginx1 | more
"Mounts": [
            {
                "Type": "volume",
                "Name": "nginx_vol",
                "Source": "/var/lib/docker/volumes/nginx_vol/_data",
                "Destination": "/usr/share/nginx/html",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }

#修改index.html 
/var/lib/docker/volumes/nginx_vol/_data
#测试确实文件被修改
http://192.168.10.243:88/

  • 清理

#清理
docker stop nginx1
docker rm nginx1
docker volume rm nginx_vol
#清除卷的时候必须先清理使用卷的容器
#清理卷之后  /var/lib/docker/volumes/nginx_vol/_data 目录中文件就没有了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值