三: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:将本地目录挂载到容器的目录

posted @   woshinidaye  阅读(86)  评论(0编辑  收藏  举报
编辑推荐:
· 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数据库查询与断言
点击右上角即可分享
微信分享提示