三:docker的卷管理
之前已经安装了nginx的容器,访问界面就是一个欢迎界面,啥也没有,今天就想往里面放点东西,学学docker的卷管理。
docker的卷管理用到的命令就是docker volume
[root@docker-1-26 ~]# docker volume --help Usage: docker volume COMMAND Manage volumes Commands: create Create a volume #创建一个卷 inspect Display detailed information on one or more volumes #查看卷详情 ls List volumes #查看卷列表 prune Remove all unused local volumes #删除所有没有使用的卷 rm Remove one or more volumes #删除卷 Run 'docker volume COMMAND --help' for more information on a command.
[root@docker-1-26 ~]# docker volume create nginx-20201115 #创建一个卷 nginx-20201115 [root@docker-1-26 ~]# docker volume ls DRIVER VOLUME NAME local nginx-20201115
[root@docker-1-26 ~]# docker volume inspect nginx-20201115 #查看卷详情
[
{
"CreatedAt": "2020-11-15T13:13:50+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/nginx-20201115/_data", #卷存放的位置
"Name": "nginx-20201115",
"Options": {},
"Scope": "local"
}
]
[root@docker-1-26 ~]#
创建一个容器使用该卷:
[root@docker-1-26 ~]# docker run -d -p 10080:80 -v nginx-20201115:/usr/share/nginx/html nginx:nginx20201115 #-v volume 目标位置为nginx的位置 a9c622503d5937bd9453a9a2584cf11f2237a3bc4fdc08c480ae5a2affc29fac
创建完成后,就可以在卷目录下增加了两个文件,其实就是nginx的欢迎首页,这样容器的文件就存在了挂载的卷上,这个思路可以用来进行容器文件的持久化保存,不然容器重启后,文件就没了
除去这种映射意外,还能通过本地目录直接映射
[root@docker-1-26 home]# ll mine/
total 116
drwxr-xr-x. 2 root root 60 Oct 14 2016 css
-rw-r--r--. 1 root root 116409 Nov 16 22:10 index.html
drwxr-xr-x. 2 root root 31 Oct 8 2016 js
[root@docker-1-26 home]#
[root@docker-1-26 mine]# docker container run -d -p 10081:80 -v /home/mine:/usr/share/nginx/html nginx:nginx20201115 #将宿主机路径映射到容器
2f0756465c2ec18544ba50c84d430cd28c6ac31ac41473c88a08422e5cb915be
两种的区别在于:
-v volume:/container-file:将容器里面的文件复制到volume中
-v local-file:/container-file:将本地目录挂载到容器的目录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言