管理应用程序数据:Volume
bind mounts:可以存储在宿主机系统的任意位置。
# docker volume create nginx-vol
宿主机存储地址:/var/lib/docker/volumes/
# docker volume ls
# docker volume inspect nginx-vol
[
{
"CreatedAt": "2019-03-07T13:28:47+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/nginx-vol/_data",
"Name": "nginx-vol",
"Options": {},
"Scope": "local"
}
]
用卷创建一个容器:(数据卷nginx-vol 相当于 宿主机和容器之间创建一个软连接 容器删除,数据卷还在)
# docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
bind方式创建容器(切记源目录必须存在)
# docker run -d -it --name=nginx-test1 --mount type=bind,src=/app/www,dst=/usr/share/nginx/html nginx
适用场景 java项目中打包后 targer/*.war 或者 targer/*.jar 直接挂载到容器中实现项目直接部署
清理:
# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol
删除所有容器:
# docker rm -f $(docker ps -q -a)
注意:
1. 如果没有指定卷,自动创建。
2. 建议使用—mount,更通用。