本文共 998 字,大约阅读时间需要 3 分钟。
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
bind mounts:可以存储在宿主机系统的任意位置。
tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。
docker volume create nginx-voldocker volume lsdocker volume inspect nginx-vol
docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginxdocker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
docker container stop nginx-testdocker container rm nginx-testdocker volume rm nginx-vol
注意:
1.如果没有指定卷,自动创建并随机生成一个名字,称为匿名卷。(与之前不同,之前是命名卷)2.建议使用–mount,更通用。
3.容器删除了,只要数据卷不删除数据就不会丢失。
4.多个容器可以共享同一个数据卷,,从而实现高扩展性。
docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginxdocker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx
docker inspect nginx-test
docker container stop nginx-testdocker container rm nginx-test
注意:
1.如果源文件/目录没有存在,不会自动创建,会抛出一个错误。(也就是src指定的文件或目录)2.如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。