数据卷,Volume。用来实现,宿主机和容器之间的数据文件共享

自定义数据卷目录共享

  1. # ⚠️ :改方法会清空 容器内指定文件夹的内容 ⚠️:注意顺序
  2. 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个,数据都是共享的

  1. docker run -d -p 8088:8080 --name tt111 -v test_only19821:/usr/local/tomcat/webapps tomcat:8.0-jre8

上面代码会在宿主机上创建一个test_only19821文件夹.mac上我是没找到😥😥

容器内只读

只能在宿主机操作吗,容器只读 设置。

  1. # 后面加上:ro 表示只读
  2. docker run -d -p 8088:8080 --name t -v /Users/yangfeng/Desktop/grpcman/a:/usr/local/tomcat/webapps:ro tomcat:8.0-jre8

docker操作数据

创建数据卷

  1. docker create a

查看所有数据卷

  1. # 查看当前所有数据卷
  2. docker volume ls

查看某个数据细节

  1. docker volume inspect test
  2. [
  3. {
  4. "CreatedAt": "2021-04-08T14:42:44Z",
  5. "Driver": "local",
  6. "Labels": null,
  7. "Mountpoint": "/var/lib/docker/volumes/test/_data",
  8. "Name": "test",
  9. "Options": null,
  10. "Scope": "local"
  11. }
  12. ]

删除数据卷

  1. # 删除没有用的数据
  2. docker volume prune
  3. # 删除指定数据卷
  4. docker volume test