docker简单介绍----存储
docker容器 中使用Volumes来实现数据的持久性,因为容器的删除会丢失数据,而关闭或者重启容器不会丢失数据
docker run -v即可使用Volumes
1.docker-managed volume
docker run -it --name test1 -v /data nginx
这种docker管理卷方式自动绑定到宿主机上的目录
使用 docker inspect -f {{.Mounts}} nginx来查看,可以看到将宿主机的 _/data目录挂载到了容器的/data目录,可以理解为共享目录,无论在容器中编辑或者在宿主机编辑该共享目录,数据都会发生改变,容器的删除也不会影响宿主机共享目录的数据,也可以多个容器指定一个宿主机挂载目录
2. Bind-mount Volume
这种方式可以自动指定宿主机的目录挂载到容器特定目录中,上述这俩种方式都会自动创建挂载目录,效果与docker-managed volume
docker run -it -v HOSTDIR:VOLUMEDIR --name test2 docker.io/nginx
docker inspect -f {{.Mounts}} docker.io/nginx
3.多个容器共享同一宿主机目录
直接举例子“:
容器1
docker run -it --name web-2 --hostname nginx-1 -p 11111:80 --rm -v /tmp:/tmp 498
查看已获取到了宿主机/tmp的数据
容器2
docker run --name web3 -it --hostname nginx-2 -p 22222:80 --volumes-from 3bf 498 (3bf是共享volumes的容器id,498是镜像id)
使用docker inspect 容器id
注:调用其它容器的volumes和使用-p指定绑定目录的效果是一致的
即: -p /tmp:/tmp = --volumes-from 容器id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端