Volume、Bind、Mount
将docker主机数据挂载到容器中
Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes、bind mounts和tmpfs
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumus)
bind mounts:可以存储在宿主机系统的任意位置
将docker主机数据挂载到容器中
Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes、bind mounts和tmpfs
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumus)
bind mounts:可以存储在宿主机系统的任意位置
tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统
Volume
查看volume
# docker volume ls
创建一个volume,创建的卷位置位于/var/lib/docker/volumes
# docker volume create nginx-vol
查看volume卷的详细信息# docker volume inspect nginx-vol
使用卷创建容器(可以多个容器共用一个数据卷,数据共享),如果卷没有指定,会自动创建一个匿名卷
# docker container run -itd --name=nginx-test -p 8082:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
# docker container run -itd --name=nginx-test -p 8082:80 -v nginx-vol:/usr/share/nginx/html nginx
删除所有的容器
# docker container rm -f $(docker ps -q -a)
清理volume卷:
# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol
Bind mounts
绑定一个宿主机上已经存在的目录,用来创建一个容器,宿主机目录必须存在# docker container run -itd --name=nginx-test --mount type=bind,src=/opt/wwwroot,dst=/usr/share/nginx/html nginx
# docker container run -itd --name=nginx-test -v /opt/wwwroot:/usr/share/nginx/html nginx
验证绑定是否成功
# docker container inspect nginx-test
清理
# docker container stop nginx-test
# docker container rm nginx-test