目录
文章目录
- 目录
- 容器存储
-
- 数据卷管理
-
- 挂载时创建卷
- 创建卷后挂载
- 数据容器管理
容器存储
数据卷管理
核心选项:
- -v 宿主机目录:指定挂载到容器内的目录。
映射多个宿主机目录,只需要多写几个 -v 即可。
挂载时创建卷
- 挂载卷:
docker run -d -p 80:80 -v /data:/usr/share/nginx/html nginx:latest
- 设置共享卷,使用同一个卷启动一个新的容器:
docker run -d -p 8080:80 -v /data:/usr/share/nginx/html nginx:latest
创建卷后挂载
- 查看卷列表:
docker volume ls
- 查看未被容器使用的数据盘
docker volume ls -f dangling=true
- 创建一个卷:
$ docker volume create
f3b95f7bd17da220e63d4e70850b8d7fb3e20f8ad02043423a39fdd072b83521
$ docker volume ls
DRIVER VOLUME NAME
local f3b95f7bd17da220e63d4e70850b8d7fb3e20f8ad02043423a39fdd072b83521
- 查看卷路径:
$ docker volume inspect <volume_name>
[
{
"CreatedAt": "2018-02-01T00:39:25+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/clsn/_data",
"Name": "clsn",
"Options": {},
"Scope": "local"
}
]
- 使用卷创建容器:
docker run -d -p 9000:80 -v <volume_name>:/usr/share/nginx/html nginx:latest
- 删除卷
docker rm -v <volume_name>
数据容器管理
可以创建一个特殊的容器,来充当数据容器,也就是在创建容器时指定这个容器的数据盘,然后让其他容器可以使用这个数据容器作为他们的数据盘。
- 创建一个数据容器:
docker create -v /mnt -it --name newnginx docker.io/nginx /bin/bash
- 利用此数据容器容器运行一个容器
docker run --volumes-from newnginx --name nginx1 -it docker.io/nginx /bin/bash