16_2_docker容器数据持久化
Docker提供2种方式将数据从宿主机挂载到容器中
(1)volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)
示例
# 1、创建数据卷
docker volume create nginx-vol
docker volume ls
docker volume inspect nginx-vol
# 2、使用数据卷
docker run -d --name=nginx-test --mount src=nginx-vol,dst=/usr/shar/nginx/html nginx
docker run -d --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
(2)bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。
1、挂载宿主机目录到容器
docker run -d --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx
docker run -d --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx
制作镜像:
1、启动容器之后的应用程序服务产生的数据尽量放到一个目录 /data
2、构建不是将已经生成的应用程序数据打包进去的
例如:jenkins、gitlab使用docker都是采用-v将他们自身产生的数据持久化宿主机
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」