Docker Volumn 卷
提供了一种容器数据持久化的技术,可以将容器中的目录挂载至本机上。同时也为容器之间的数据共享提供了方便。
不指定挂载到宿主机
比如运行docker run -d --name nginx -v /usr/share/nginx/html whoami/hello-nginx
-d
在daemon中运行
--name nginx
将容器命名为nginx
-v /usr/share/nginx/html
指定需要持久化的目录,即需要挂载的目录。
使用sudo docker inspect nginx
查看
inspect可以查看很多有关容器的信息,但是此刻我关注的是挂载的信息:
在挂载目标目录的地方找到了index.html中并在其中追加了<b>hello the cruel world!!</b>
下面使用docker exec -it nginx /bin/bash
进入容器之中
可以看到在宿主机之中做的更改与容器中的同步了!
指定挂载到宿主机
使用命令sudo docker run -d -p 80:80 -v $PWD/html:/var/www/html nginx
其中
$PWD
为shell的宏变量代表的是当前路径-p 80:80
将宿主机的80端口映射为容器的80端口
效果不多说了!
指定挂载到容器
- 创建数据容器
docker create -v $PWD/data:/var/mydata --name Data ubuntu
- 创建需要挂载的容器
docker run -it --volumes-from Data ubuntu /bin/bash
运行之后会直接进入容器之中,使用mount | grep mydata
进行挂载的目录,然后创建文件`makeit`
可以看到挂载到容器也是可以同步数据的。