【Docker】存储数据卷

目录

1、挂载数据卷到容器里

2、查询挂载文件

3、容器与主机之间映射共享卷

4、三个容器之间使用共享卷

5、卷数据的备份与恢复

[5.1 备份](#5.1 备份)

[5.2 恢复](#5.2 恢复)


1、挂载数据卷到容器里

bash 复制代码
docker run -itd --name test02 -v /data nginx 
bash 复制代码
docker exec -it test02 bash

ls /
bash 复制代码
docker inspect test02 

2、查询挂载文件

bash 复制代码
docker inspect -f '{{.Config.Volumes}}' 9ef5d89c2e60
bash 复制代码
docker rm -vf test02 

3、容器与主机之间映射共享卷

bash 复制代码
mkdir /root/html  

cd /root/html

echo "I am your host volume HTML." > /root/html/index.html
bash 复制代码
docker run -itd --name web -p 80:80 -v /root/html:/usr/share/nginx/html nginx
bash 复制代码
# 运行不成功使用下面这条
docker run -itd --name web --privileged -p 80:80 -v /root/html:/usr/share/nginx/html nginx

访问http://192.168.9.10:82(ip地址为虚拟机ip)

4、三个容器之间使用共享卷

bash 复制代码
docker run -itd --name web1 -p 81:80 -v /usr/share/nginx/html nginx

docker run -itd --volumes-from web1 --name web2 -p 82:80 nginx

docker run -itd --volumes-from web1 --name web3 -p 83:80 nginx

docker exec -it web1 /bin/bash

echo "I am web1." > /usr/share/nginx/html/index.html

运行截图:(可以看到成功共享)

5、卷数据的备份与恢复

5.1 备份

bash 复制代码
docker run --volumes-from web --privileged -v $(pwd):/backup nginx tar cvf /backup/backup.tar /usr/share/nginx/html
bash 复制代码
# 运行不成功用下面这条
docker run --volumes-from web -v $(pwd):/backup nginx tar cvf /backup/backup.tar /usr/share/nginx/html

查看:

5.2 恢复

bash 复制代码
docker run --volumes-from web -v $(pwd):/backup nginx tar xvf /backup/backup.tar -C /usr/share/nginx/html --strip-components=1
bash 复制代码
# 运行不成功用下面这条
docker run --volumes-from web --privileged -v $(pwd):/backup nginx tar xvf /backup/backup.tar -C /usr/share/nginx/html --strip-components=1
bash 复制代码
 docker exec -it web /bin/bash
相关推荐
蝎子莱莱爱打怪12 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk12319 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑20 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件20 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xy1230621 小时前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker