我们的服务运行时必不可少的会产生一些日志,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作。
容器中管理数据主要有两种方式: 1. 数据卷 2. 数据卷容器
1. 数据卷
数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:
2. 数据卷的创建,查看,删除
docker run --name testweb -d -p 92:80 -v testwebvloume:/usr/share/nginx/html/ nginx:v3
#利用nginx:v3镜像创建了一个名为testweb的容器,对外暴露的端口号是92,将/usr/share/nginx/html目录与数据卷testwebvloume 映射。
docker volume create volume_name #表示创建一个数据卷。
docker volume ls #列出数据卷列表
docker volume rm volume_name #删除指定数据卷
docker volume inspect volume_name #查看数据卷的详细信息
例如:docker volume inspect testwebvloume
[
{
"CreatedAt": "2019-07-26T11:55:06+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/testwebvloume/_data",#表示数据卷的挂载点也就是挂载位置
"Name": "testwebvloume",
"Options": null,
"Scope": "local"
}
]
#使用docker volume --help 帮助查看命令使用指南
Usage: docker volume COMMAND
Manage volumes
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused local volumes
rm Remove one or more volumes
3. 数据卷容器
如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器,数据卷容器其实是一个普通的容器,专门用来提供数据卷供其它容器挂载。
docker run -v commmon:/usr/share/nginx/html/ --name commvolume nginx:v3
#创建一个名为commvolume的容器,他的数据目录挂载到common中
docker run -d -p 99:80 --name commweb --volumes-from commvolume nginx:v3
#创建一个容器名为commweb,它的数据卷来自于commvolume 容器。
原文:https://www.cnblogs.com/jasonboren/p/11370380.html