docker 数据共享和持久化
bind mounts
- 如果bind mount一个非空目录或者文件,或者非空volume,则container目录中的原始内容将被遮蔽,当解决挂载时则自动恢复.
- 必须指定mount源
docker run -d -v ~/htdocs/index.html:/usr/local/apache2/htdocs/new_index.html httpd
这个跟Linux mount是一样的
volume
- 如果将空volume挂载到container上的某个目录,此目录下原来的文件与子目录会复制到空volume中
- 不需要指定mount源
docker run -d -v /usr/local/apache2/htdocs httpd
上面执行后,docker 就会自动在 host 的 /var/lib/docker/volumes 下生成一个目录,这个目录就是 mount 源。同时还会将容器里中 /usr/local/apache2/htdocs 数据复制到 mount 源中。