三: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 @ 2020-11-16 14:13  woshinidaye  阅读(94)  评论(0)    收藏  举报