社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
类型
|
挂载固定目录
|
自动映射目录
|
volume 位置
|
可任意指定
|
/var/lib/docker/volumes/……
|
对已有mount point 影响
|
隐藏并替换为 volume
|
原有数据复制到 volume
|
是否支持单个文件
|
支持
|
不支持,只能是目录
|
权限控制
|
可设置为只读,默认为读写权限
|
无控制,均为读写权限
|
移植性
|
移植性弱,与host path绑定
|
移植性强,无需指定host目录
|
1 root@docker:~# docker inspect b7 | grep -A11 "Mounts" 2 root@docker:~# echo "Hello web01!" >/webroot/index.html 3 root@docker:~# echo "Hello web02!" >/var/lib/docker/volumes/725d7d76ec8eb10f5730fe5663cb1d1eb7481efaa2a5a790343dca5d0557564a/_data/index.html
1 root@docker:~# docker run --rm -it --name centos7-01 -v ~/.bashrc:/root/.bashrc centos:7
1 docker cp [OPTIONS] CONTAINER:PATH LOCALPATH|- 2 docker cp [OPTIONS] LOCALPATH|- CONTAINER:PATH 3 root@docker:~# docker cp /root/.vimrc centos7-01:/root/ #从宿主机拷贝至容器 4 root@docker:~# docker cp centos7-01:/root/.vimrc /root/.vimrc_bak #从容器拷贝至宿主机
1 root@docker:~# docker run -d -p 1010:80/tcp --name web03 -v /webroot:/usr/local/apache2/htdocs httpd 2 root@docker:~# docker run -d -p 2020:80/tcp --name web04 -v /webroot:/usr/local/apache2/htdocs httpd 3 root@docker:~# echo "This is share file!" >/webroot/index.html
1 root@docker:~# docker create --name sharefile01 -v /data:/usr/local/apache2/htdocs centos:7 2 root@docker:~# docker inspect sharefile01 | grep -A11 "Mounts"
1 root@docker:~# docker run -d -p 3030:80/tcp --name web05 --volumes-from sharefile01 httpd 2 root@docker:~# docker run -d -p 4040:80/tcp --name web06 --volumes-from sharefile01 httpd 3 root@docker:~# echo "This is share file two!" >/data/index.html
1 root@docker:~# docker volume create --name data02 2 root@docker:~# docker volume inspect data02
1 root@docker:~# docker run -d -p 5050:80/tcp --name web07 -v data02:/usr/local/apache2/htdocs httpd 2 root@docker:~# echo "Hello web07!" > /var/lib/docker/volumes/data02/_data/index.html
1 root@docker:~# docker volume ls #查看所有volume卷 2 root@docker:~# docker volume ls -qf dangling=true #查看所有孤儿卷
1 root@docker:~# docker volume rm 95704ae78c05261a46d2dc1f2bf872a8c3dc634817e7c0db53e7e6d40f2dc8ea 2 root@docker:~# docker volume rm $(docker volume ls -qf dangling=true) #删除孤儿卷
1 root@docker:~# docker run -d -p 6060:80/tcp --name web08 -v /usr/local/apache2/htdocs httpd 2 root@docker:~# docker inspect web08
1 root@docker:~# docker rm -vf web08 2 root@docker:~# docker volume ls
1 root@docker:~# docker run -d -p 1111:80/tcp --name web09 -v /usr/local/apache2/htdocs httpd 2 root@docker:~# docker inspect web09 | grep -A11 "Mounts" 3 root@docker:~# echo "This is web09 backup test!">/var/lib/docker/volumes/16aa6956e7076ecb9f256c302833640880e3bb1b8602771cca378e7230975488/_data/index.html
1 root@docker:~# docker run --volumes-from web09 --name mydatabackup -v /mybackup:/databack httpd tar zcf /databack/http-backup.tar.gz /usr/local/apache2/htdocs
1 root@docker:~# docker run -d -v /usr/local/apache2/htdocs --name temp01 httpd 2 root@docker:~# docker run --volumes-from temp01 --name web10 -v /mybackup:/databack httpd tar zxf /databack/http-backup.tar.gz 3 #此步骤执行完毕即将备份文件已经还原至容器的/usr/local/apache2/htdocs。 4 root@docker:~# docker run -d -p 2222:80/tcp --name web11 --volumes-from temp01 httpd
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!