美文网首页技术栈
Docker数据管理

Docker数据管理

作者: 烟雨乱平生 | 来源:发表于2019-10-12 21:50 被阅读0次

在容器中管理数据主要有两种方式:

  • 数据卷(Volumes)
  • 挂载主机目录(Bind mounts)

数据卷

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

  • 数据卷 可以在容器之间共享和重用
  • 对 数据卷 的修改会立马生效
  • 对 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除

创建一个数据卷

docker volume create <数据卷名字>

查询所有的数据卷

docker volume ls

查看数据卷的详细信息

docker volume inspect <数据卷名字>

挂载数据卷

docker run -d -p 7700:7700 --name web --mount source=my-vol,target=/webapp training/web python app.py
docker run -d -p 7700:7700 --name web -v my-vol:/webapp training/web python app.py

上面两行的命令都是把数据卷my-vol挂载到容器的/webapp目录下。

删除数据卷

docker volume rm <数据卷名字>

数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除 数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令。

无主的数据卷可能会占据很多空间,要清理请使用以下命令

docker volume prune

挂载主机目录

挂载主机目录和挂载数据卷的命令相似

docker run -d -p 7700:7700 --name web --mount source=H:\\docker\\webapp,target=/webapp training/web python app.py
docker run -d -p 7700:7700 --name web -v H:\\docker\\webapp:/webapp training/web python app.py

上面的命令是将主机的H:\\docker\\webapp目录挂载到容器的/webapp目录。地目录的路径必须是绝对路径,以前使用 -v 参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,现在使用 --mount 参数时如果本地目录不存在,Docker 会报错。

Docker 挂载主机目录的默认权限是 读写,用户也可以通过增加 readonly 指定为 只读。

docker run -d -p 7700:7700 --name web --mount source=H:\\docker\\webapp,target=/webapp,readonly training/web python app.py
docker run -d -p 7700:7700 --name web -v H:\\docker\\webapp:/webapp:ro training/web python app.py

数据卷的type为volume,主机目录的type为bind

挂载一个本地主机文件作为数据卷

该命令和以上两个命令相似

相关文章

  • 39-docker(一)

    本章内容 ◆ Docker简介◆ Docker 镜像与制作◆ Docker 数据管理◆ Docker 网络◆ Do...

  • docker(三)docker镜像文件

    数据管理前提1>docker容器不应该负责持久化2>业界使用docker,等价于使用服务3>官方使用docker,...

  • docker 镜像与容器

    Docker中通过模板创建镜像,Docker容器、仓库及数据管理[https://blog.51cto.com/f...

  • Docker的那些事儿—Docker数据管理(28)

    从本节开启Docker存储部分,学习docker是如何对数据管理的。 上一篇:Docker的那些事儿—容器与外部网...

  • Docker学习五、docker容器数据卷

    前言、Docker中的数据管理 Docker镜像是由多个只读层叠加而成,启动容器时,Docker会加载只读层并会在...

  • Docker基本命令

    镜像操作相关命令 容器操作相关命令 访问Docker仓库 Docker数据管理 端口映射与容器互联 Dockerf...

  • Docker 入门教程之数据管理

    Docker 数据管理的方式 Docker 对于容器数据的存储推荐挂载到宿主机,以此减轻容器的大小,也方便数据和容...

  • Docker数据管理

    容器管理数据方式: 数据卷:容器内数据直接映射到本地主机环境; 数据卷容器:使用特定容器维护数据卷。 数据卷 类似...

  • docker数据管理

    容器添加数据卷 数据卷添加权限 ro-read-only 只读rw-read-write 写读 dockerfil...

  • Docker 数据管理

    容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volume Conta...

网友评论

    本文标题:Docker数据管理

    本文链接:https://www.haomeiwen.com/subject/nwpcmctx.html