docker持久化数据存储
一、把数据存储到本地/opt/data目录下面,容器挂载到/data目录下面
1 2 | [root@docker-1 ~] # docker run -itd --name www -v /opt/data:/data nginx bb726e9083c12ffc4d61605fef40e1cbdd9b7b85e7b4aca4abe7bbc1580994e5 |
注:
1、--name www:www挂载容器镜像名称
2、/opt/data:/data:/opt/data本地存储目录。/data挂载到镜像的存储目录
3、nginx:nginx镜像名称
二、利用--volumes-from 实现多容器共享一个目录存储
1 2 | [root@docker-1 ~] # docker run -itd --name web --volumes-from www nginx 10a190a6dece08e3fbb168a33a61c4f0af2b129863742ec28aeec6ed590fa96d |
注:
--name web:web挂载镜像的名称
--volumes-from www:指向共享容器的名称。(www是共享容器名称)
三、验证挂载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #进入web容器,在/data目录下面创建a.txt [root@docker-1 ~] # docker exec -it web bash root@10a190a6dece:/ # cd /data/ root@10a190a6dece: /data # touch a.txt root@10a190a6dece: /data # ls -l total 0 -rw-r--r--. 1 root root 0 Sep 27 22:51 a.txt #查看本地机器a.txt是否存在 [root@docker-1 ~] # ls -l /opt/data 总用量 0 -rw-r--r--. 1 root root 0 9月 28 06:51 a.txt #进入www容器添加内容到/data/a.txt里面 [root@docker-1 ~] # docker exec -it www bash root@bb726e9083c1:/ # ls -l /data/ total 0 -rw-r--r--. 1 root root 0 Sep 27 22:51 a.txt root@bb726e9083c1:/ # cat /data/a.txt root@bb726e9083c1:/ # echo "12345" > /data/a.txt root@bb726e9083c1:/ # cat /data/a.txt 12345 #查看www容器添加内容本地a.txt是否存在 [root@docker-1 ~] # cat /opt/data/a.txt 12345 #查看web容器/data/a.txt内容是否存在 [root@docker-1 ~] # docker exec -it web cat /data/a.txt 12345 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?