docker关于数据卷的学习补充
之前学过一些docker,但是发现隔段时间不用,有些知识又想不起来了
昨天在启动容器绑定数据卷是一直实现不了数据同步,让我百思不得其解,今天咋一看,是一个细节问题:数据卷绑定错误!
如上,可以看到我在容器tomcat-01里面绑定的容器内目录是webapps,但这是错误的,上面的做法是绑定不到的,应该写上全路径,如下:
# docker run -it -d -p 3348:8080 --name "tomcat-01" -v tomcat-01:/usr/local/tomcat/webapps tomcat
可见,在数据卷挂载的时候路径一定要写正确,否则无效
下面再补充一些关于数据卷的知识:
-
数据卷可以被多个容器挂载,故一般我们可以先在宿主机创建一个数据卷,在创建容器时,直接可以将容器内部的某个目录挂载到指定宿主机目录,同时多个容器可以共同使用一个数据卷,从而实现容器间的文件共享。
-
数据卷在宿主机存放的目录是: /var/lib/docker/volumes/
-
数据卷的操作
-
增,使用docker volume create [数据卷名], 如
[root@VM-16-12-centos web1]# docker volume create mysql-02 mysql-02
-
查
-
查看全部数据卷,用docker volume ls,如
[root@VM-16-12-centos web1]# docker volume ls DRIVER VOLUME NAME local mysql-01 local mysql-02 local nginx01 local tomcat01
-
查看某个数据卷的具体信息,用docker volume inspect [数据卷名],如
[root@VM-16-12-centos web1]# docker volume inspect mysql-02 [ { "CreatedAt": "2022-02-15T14:10:07+08:00", "Driver": "local", "Labels": {}, "Mountpoint": "/www/server/docker/volumes/mysql-02/_data", "Name": "mysql-02", "Options": {}, "Scope": "local" } ]
-
-
删,使用docker volume rm [卷名]…删除一个或者多个数据卷
使用docker volume prune 删除所有未被使用的数据卷
-
使用
-
匿名挂载
-v [容器内路径]
-
具名挂载
-v 卷名: [容器内路径]
-
指定路径挂载
-v [宿主机内路径]:[容器内路径]
本次分享到这!!!
-
-