1、Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
bind mounts:可以存储在宿主机系统的任意位置。
tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。
2、管理卷volume
用卷创建一个容器
等同于
# docker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
清理:
# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol
注意:
如果没有指定卷,自动创建。
建议使用—mount,更通用。
3、bind mounts
等同于
# docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx
验证绑定:
# docker inspect nginx-test
清理:
# docker container stop nginx-test2
# docker container rm nginx-test2
注意:
如果源文件/目录没有存在,不会自动创建,会抛出一个错误。
如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。