Docker 数据卷

原创
2018/10/03 14:57
阅读数 158

Docker内部数据与容器互连,通过挂载的形式给docker一个外在的数据存储空间。

数据卷

  • 数据卷可以在容器之间共享和重用
  • 对 数据卷的修改会立马生效
  • 对 数据卷的更新,不会影响镜像
  • 默认一直存在,即使容器被删除

数据卷的使用类似于linux的mount

创建数据卷

terry@terry:~$ docker volume create my-vol
my-vol

查看数据卷

terry@terry:~$ docker volume ls 
DRIVER              VOLUME NAME
local               jenkins_home
local               my-vol

查看指定数据卷

terry@terry:~$ docker inspect jenkins_home 
[
    {
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/jenkins_home/_data",
        "Name": "jenkins_home",
        "Options": {},
        "Scope": "local"
    }
]

启动一个挂载数据卷的容器

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

删除数据卷

terry@terry:~$ docker volume rm my-vol
my-vol
无主的数据卷清除
terry@terry:~$ docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0 B
删除容器同时删除数据卷
docker rum -v

挂载主机目录为数据卷

docker run -d -P \
    --name web \
    # -v /src/webapp:/opt/webapp \
    --mount type=build, source=/src/webapp,target=/opt/webapp \
    training/webapp \        # image
    python app.py            # initial cmd
  • 源必需是绝对路径
  • 可以挂载单个文件

参考

《Docker 入门与实践》

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部