docker 挂载宿主机文件到容器中
docker 挂载宿主机文件到容器中
·
- 背景:
- 容器中的进程操作的数据持久化都是保存在容器的可写层上。一旦容器删除后,这些数据就没了,除非人工备份下来(或者基于容器创建新的镜像)。
- docker本身提供了一种机制,可以将主机上的某个目录与容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是主机的这个目录下的内容,这类似linux系统下mount的机制。 这样的话,修改主机上该目录的内容时,不需要同步容器,对容器来说是立即生效的。 挂载点可以让多个容器共享。
- 创建新容器并挂载( -v 标记):
补充知识点:docker run --name oneself_test_mount -it -v 宿主机中要进行挂载的目录:映射到的容器中的目录 镜像name:tag /bin/bash
- docker run 是docker create 和docker start 的缩写,所以每次运行都创建一个新的容器)
- 友情提示:通过-v 宿主机目录:容器目录,如果宿主机目录是空的,那你容器目录也变成空的了,这样你的容器有可能无法启动。
- 使用“docker inspect 容器name” 查看输出的“mount”字段可以看到挂载的源和目的路径。(其实这个指令可以查看很多很多东西,只待去发掘)
- 如果一个容器已经创建了,如何增加挂载点?
- 已尝试直接在docker exec中使用-v是不可行的)
- 查到的方法:(需要在vm中使用root权限才可以操作)
- https://blog.51cto.com/hjun169/2440799
- https://www.jianshu.com/p/44e5384e2f8b
更多推荐
已为社区贡献5条内容
所有评论(0)