前言
Docker中的数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
目前我认为它是一个记录本,记录着docker容器内目录与宿主机目录之间的映射关系,通过它能够进行数据的双向绑定、同步。
常用命令
各个命令中的选项部分可以去官方文档查看
命令 | 说明 | 官方文档地址 |
---|---|---|
docker volume create | 创建数据卷 | docker volume create |
docker volume ls | 查看所有数据卷 | docker volume ls |
docker volume rm | 删除指定数据卷 | docker volume rm |
docker volume inspect | 查看某个数据卷的详情 | docker volume inspect |
docker volume prune | 清除数据卷 | docker volume prune |
注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。而且创建容器的过程中,数据卷会自动创建。
创建数据卷示例
以nginx的html目录
挂载演示:
如果本地没它的镜像就先拉取。
1)首先拉取nginx
的镜像,确保它在本地镜像仓库中。
docker pull nginx
2)查看镜像是否存在
docker images
3)创建容器并且指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
命令解释:
-d
: backend,后端运行--name
: 容器名字-p
: 指定端口映射,前面是宿主机(Linux)端口,后面是容器(Docker)端口-v
: 指定数据卷挂载,html
是数据卷名字(要唯一),冒号后面内容是挂载容器的目录nginx
: 最后的nginx
是运行创建用到的镜像名
4)查看数据卷
docker volume inspect html
5)查看宿主机里的挂载目录
ll /var/lib/docker/volumes/html/_data
如果有index.html
的文件就代表成功了
尾言
个人学习笔记,有错误处之类的可以帮我指明。