数据卷,Volume。用来实现,宿主机和容器之间的数据文件共享
自定义数据卷目录共享
# ⚠️ :改方法会清空 容器内指定文件夹的内容 ⚠️:注意顺序docker run -d -p 8082:8080 --name t8 -v /Users/yangfeng/Desktop/grpcman/a:/usr/local/tomcat/webapps tomcat:8.0-jre8
自动数据卷目录共享
- 会在宿主机上自动创建一个目录
- 会把容器里面文件夹内容复制宿主机创建好的文件夹中
test_only19821 可以存放一些mysql 等一些数据,共享给所有容器。如果还有其他容器需要用test_only19821里面数据。可以按照下面命令,重新启动n个,数据都是共享的
docker run -d -p 8088:8080 --name tt111 -v test_only19821:/usr/local/tomcat/webapps tomcat:8.0-jre8
上面代码会在宿主机上创建一个test_only19821文件夹.mac上我是没找到😥😥
容器内只读
只能在宿主机操作吗,容器只读 设置。
# 后面加上:ro 表示只读docker run -d -p 8088:8080 --name t -v /Users/yangfeng/Desktop/grpcman/a:/usr/local/tomcat/webapps:ro tomcat:8.0-jre8
docker操作数据
创建数据卷
docker create a
查看所有数据卷
# 查看当前所有数据卷docker volume ls
查看某个数据细节
docker volume inspect test[{"CreatedAt": "2021-04-08T14:42:44Z","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/test/_data","Name": "test","Options": null,"Scope": "local"}]
删除数据卷
# 删除没有用的数据docker volume prune# 删除指定数据卷docker volume test
