Docker 数据卷管理
指尖二进制 • 1 年前 • 846 次点击 • DOCKER
[TOC]
/usr/share/nginx/html
-v /opt/xiaoniao:/usr/share/nginx/html
持久化数据卷(文件或目录)
-v 卷名:/data
-v src(宿主机的目录):dst(容器的目录)
数据卷容器
--volumes-from(跟某一个已经存在的容器挂载相同的卷)
1:拷贝物理主机目录下所有内容到容器
[root@docker-01 ~]# docker ps #查看nginx容器id
CONTAINER ID
0d2d8854349a nginx:latest
[root@docker-01 ~]# vim /opt/html/index.html
this is a test page!
[root@docker-01 ~]# docker container cp /opt/html/. 0d2d8854349a:/usr/share/nginx/html #把当前目录/opt/html/.拷贝到容器目录下
[root@docker-01 ~]# docker exec -it 0d2d8854349a /bin/bash
root@0d2d8854349a:/# ls -l /usr/share/nginx/html/
50x.html index.html
root@0d2d8854349a:/# cat /usr/share/nginx/html/index.html
this is a test page!
2:物理主机和容器共享使用一个目录
上述修改代码不方便还需要进入到容器里面修改,为了更改代码方便直接在物理机就能设置修改代码
-v 关联卷
[root@docker-01 ~]# docker run -itd -p 88:80 -v /opt/html/.:/usr/share/nginx/html nginx:latest
[root@docker-01 ~]# curl 10.0.0.11:88
this is a test page!
[root@docker-01 ~]# vim /opt/html/index.html
this is a test page!
this is a test page!
[root@docker-01 ~]# curl 10.0.0.11:88
this is a test page!
this is a test page!
3:分配卷使用
其实就是分配一个目录
[root@docker-01 ~]# docker run -d -p 89:80 -v test:/usr/share/nginx/html nginx:latest
[root@docker-01 ~]# docker ps -a -l
[root@docker-01 ~]# docker volume inspect test #查看test卷详细信息
[
{
"CreatedAt": "2020-03-23T22:36:43+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/test/_data",
"Name": "test",
"Options": null,
"Scope": "local"
}
]
[root@docker-01 ~]# cd /var/lib/docker/volumes/test/_data/
[root@docker-01 _data]# ls
50x.html index.html
[root@docker-01 _data]# curl 10.0.0.11:89
Welcome to nginx!
[root@docker-01 _data]# rm -rf *
[root@docker-01 _data]# curl 10.0.0.11:89
403
[root@docker-01 _data]# cp /opt/html/index.html .
[root@docker-01 _data]# curl 10.0.0.11:89
this is a test page!
共享使用一个卷
[root@docker-01 ~]# docker run -d -p 90:80 -v test:/usr/share/nginx/html nginx:latest
f306f3ec31dd963995f6b47aa1ac07b4532dac4e3fb8060e25e03b75a2c01213
[root@docker-01 ~]# curl 10.0.0.11:90
this is a test page!
this is a test page!