1、Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
bind mounts:可以存储在宿主机系统的任意位置。
tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。

2、管理卷volume

docke存储-LMLPHP

用卷创建一个容器

docke存储-LMLPHP

等同于

# 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

docke存储-LMLPHP

等同于

# 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

注意:
如果源文件/目录没有存在,不会自动创建,会抛出一个错误。
如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。

05-23 15:18