docker-volume



容器卷按照业务类型可以分为两大类:

                  无状态(数据不需要持久化)

                  有状态(数据持久化)



Docker 卷操作

创建卷(以local模式卷为例)

方式一直接创建卷:

       [root@localhost ~]# docker volume create myvolume
        myvolume

方式二创建容器时候创建卷:

      [root@localhost ~]# docker run -d --name=nginx-volume -v /usr/share/nginx/html nginx


查看卷

[root@localhost ~]# docker volume ls
DRIVER              VOLUME NAME
local               cd7dacfec3b701f4601de4eb29c7992197252d29d7ce14e50cc5401a81d3215a  创建容器的时候直接创建的卷
local               myvolume


查看卷详细信息

[root@localhost ~]# docker volume inspect myvolume
[
     {
         "CreatedAt": "2020-10-12T10:26:46+08:00",
         "Driver": "local",
         "Labels": {},
         "Mountpoint": "/var/lib/docker/volumes/myvolume/_data",
         "Name": "myvolume",
         "Options": {},
         "Scope": "local"
     }
]



挂载数据卷

[root@localhost ~]# docker run -d --name=nginx --mount source=myvolume,target=/usr/share/nginx/html nginx

登录容器器并写入数据

[root@localhost ~]# docker exec -it  nginx bash
root@fb2aff3e3d8a:/# echo "11111111" > /usr/share/nginx/html/index.html


删除容器

[root@localhost ~]# docker rm -f nginx
nginx


重新创建nginx容器挂载之前的卷

[root@localhost ~]# docker run -d --name=nginx --mount source=myvolume,target=/usr/share/nginx/html nginx
cecca423928317bd2614f4d9c6ff12dd8de603b29dae30fad20e4bac53abe913
[root@localhost ~]# docker exec -it  nginx bash

查看数据依然存在

root@cecca4239283:/# cat /usr/share/nginx/html/index.html
11111111


删除数据卷(必须删除掉使用的容器)

[root@localhost ~]# docker volume rm myvolume
myvolume



容器之间数据共享

容器1 

[root@localhost ~]# docker run --mount source=log-vol,target=/tmp/log --name=log-producer -it busybox

/ # cat <<EOF >/tmp/log/mylog.log
> Hello, My log.
> EOF
/ # cat /tmp/log/mylog.log
Hello, My log.


容器2

[root@localhost ~]# docker run -it --name consumer --volumes-from log-producer busybox
/ # cat /tmp/log/mylog.log
Hello, My log.



         Docker 容器的文件系统不是一个真正的文件系统,而是通过联合文件系统实现的一个伪文件系统,而 Docker 卷则是直接利用主机的某个文件或者目录,它可以绕过联合文件系统,直接挂载主机上的文件或目录到容器中。















posted @ 2020-10-13 09:17  MKY-门可意  阅读(103)  评论(0编辑  收藏  举报