docker.管理应用程序数据

第四节.docker管理应用程序数据

  • voluems:docker管理数组机文件系统的一部分(var/lib/docker/volumes)
    • 官方文档
    • 管理卷
      • 卷有匿名卷和指定名字的卷
        • docker voluem create nginx_vol #创建指定名字的卷
        • docker run -itd –name=nginx_test –mount src=nignx_vol,dst=/usr/share/nginx/html nginx #src为空会创建一个匿名卷
      • docker volume create nginx_vol
      • docker volume ls
      • docker volume inspect nginx_vol
    • 用卷创建一个容器
      • docker run -itd –name=nginx_test –mount src=nignx_vol,dst=/usr/share/nginx/html nginx #创建的容器应用卷
      • docker run -itd –name=nginx_test -v nginx_vol:/usr/share/nginx/html nginx #实现效果同上但是-v只支持数据卷不通用,推荐使用上面的
    • 清理:
      • docker container stop nginx_test
      • docker container rm nginx_test [docker rm -f $(docker ps -q a)]
      • docker volume rm nginx_vol
    • 实例
      • docker voluem create nginx_vol #创建
      • docker voluem ls #列出所有的卷
      • docker voluem inspect nginx_vol #查看具体卷的信息
      • docker run -itd –name=nginx_test –mount src=nignx_vol,dst=/usr/share/nginx/html nginx #创建的容器应用卷
      • docker exec -it nginx_test bash #进入容器
      • cd /usr/share/nginx/html/#这个目录与以下那个目录相当于做了个软连接数据会实时同步
      • ls
      • touch /var/lib/docker/volumes/nginx_vol/_date/
      • ls
  • bind mounts:可以存储在宿主机系统的任意位置。
    • 官方文档
    • 用卷创建一个容器
      • docker run -itd –name=nginx_test –mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx
      • docker run -itd –name=nginx_test -v /app/wwwroot:/usr/share/nginx/html nginx #-v不支持bind
    • 验证绑定
      • docker inspect nginx_test
    • 清理
      • docker container stop nignx_test
      • docker container rm nignx_test
    • 注意
      • 源文件不存在不会自动创建,会抛出一个错误
      • 如果挂载的目标在容器中非空目录,则容器中原有目录将被隐藏,只显示目标目录的文件
  • tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统
    原文作者:小短腿电工
    原文地址: https://www.jianshu.com/p/7cf2e15a7419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞