1、容器如何挂载

每一个容器里面的内容,支持三种挂载方式:
- docker自动在外部创建文件夹自动挂载容器内部指定的文件夹内容【Dockerfile VOLUME指令的作用】
- 自己在外部创建文件夹,手动挂载
- 可以把数据挂载到内存中。
- —mount 挂载到 linux宿主机,手动挂载(不用了)
- -v 可以自动挂载,到linux’主机或者docker自动管理的这一部分区域
Volumes(卷) :存储在主机文件系统的一部分中,该文件系统由Docker管理(在Linux上是“ / var / lib / docker / volumes /”)。非Docker进程不应修改文件系统的这一部分。 卷是在Docker中持久存储数据的最佳方法。
Bind mounts(绑定挂载) 可以在任何地方 存储在主机系统上。 它们甚至可能是重要的系统文件或目录。 Docker主机或Docker容器上的非Docker进程可以随时对其进行修改。
tmpfs mounts(临时挂载) 仅存储在主机系统的内存中,并且永远不会写入主机系统的文件系统
2、volume(卷)
匿名卷使用
docker run -dP -v :/etc/nginx nginx#docker将创建出匿名卷,并保存容器/etc/nginx下面的内容# -v 宿主机:容器里的目录
具名卷使用
docker run -dP -v nginx:/etc/nginx nginx#docker将创建出名为nginx的卷,并保存容器/etc/nginx下面的内容
提示
如果将空卷装入存在文件或目录的容器中的目录中,则容器中的内容(复制)到该卷中。如果启动一个容器并指定一个尚不存在的卷,则会创建一个空卷。
-v 宿主机绝对路径:Docker容器内部绝对路径:叫挂载;这个有空挂载问题
-v 不以/开头的路径:Docker容器内部绝对路径:叫绑定(
docker会自动管理,docker不会把他当前目
录,而把它当前卷)
以上用哪个比较好??????
- 如果自己开发测试,用 -v 绝对路径的方式
- 如果是生产环境建议用卷
- 除非特殊 /bin/docker 需要挂载主机路径的则操作 绝对路径挂载
