美文网首页DockerDocker容器「中级篇」docker践行devOps理念
『中级篇』数据持久化之bind Mounting(35)

『中级篇』数据持久化之bind Mounting(35)

作者: IT人故事会 | 来源:发表于2018-07-21 09:15 被阅读11次

    回忆上次的volume的方式,源码https://github.com/limingios/docker No.3 方便学习数据持久化存储

    1. Dockerfile中
      VOLUME ["/var/lib/mysql"]
    2. 别名:持久化地址的方式
      docker run -v mysql:/var/lib/mysql
    Bind Mouting
    • 代码
    docker run -v /home/aaa:/root/aaa
    
    • 例子
    cd ~
    cd labs/docker-nginx/
    more Dockerfile
    
    sudo service docker restart
    docker build -t liming/nginx .
    sudo docker image ls
    
    • 容器生成不适用数据持久化
    sudo docker run -d -p 80:80 --name web liming/nginx
    curl 127.0.0.1
    ip a
    
    • 容器生成使用数据持久化
    #删除原来的容器
    sudo docker rm -f web
    #容器内的80对外部的80,pwd对应/usr/share/nginx/html的
    sudo docker run -d -p 80:80 -v $(pwd):/usr/share/nginx/html --name web liming/nginx  
    curl 127.0.0.1
    sudo docker exec -it web /bin/sh
    cd /usr/share/nginx/html
    #在数据持久化目录里面增加文件aaa.test
    touch aaa.test
    exit
    
    cd ~/labs/docker-nginx/
    #查看路径已经多了一个文件aaa.test
    ls
    #修改aaa.test文件内容
    vim aaa.test
    sudo docker exec -it web /bin/sh
    
    sudo docker exec -it web /bin/sh
    #容器内可以看到数据持久化的信息
    more  aaa.test
    

    PS:bind mount 需要指定 host 文件系统的特定路径,这就限制了容器的可移植性,当需要将容器迁移到其他 host,而该 host 没有要 mount 的数据或者数据不在相同的路径时,操作会失败。但是我感觉已经很方便了。


    往期精彩
    1. docker导学(一)
    2. 容器的技术概述(二)
    3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
    4. docker官网介绍(四)
    5. 如何在mac上安装docker(五)
    6. 如何在window上安装docker(六)
    7. 如何在mac上通过vagrant安装虚拟机(七)
    8. 如何在window上通过vagrant安装虚拟机(八)
    9. docker-Machine的本地使用(九)
    10. docker-Machine的本地使用(十)
    11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
    12. docker架构和底层技术(12)
    13. docker Image概述(13)
    14. 手动建立一个base Image(14)
    15. 什么是Container(15)
    16. 构建自己的Docker镜像(16)
    17. Dockerfile详解(17)
    18. 镜像的发布(18)
    19. Dockerfile实战(19)
    20. 容器的操作(20)
    21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)
    22. 容器的资源限制(22)
    23. docker网络(23)
    24. docker学习必会网络基础(24)
    25. Linux网络命名空间(25)
    26. Docker Bridge详解(26)
    27. 容器之间的Link(27)
    28. 容器的端口映射(28)
    29. 容器网络之host和none(29)
    30. 多容器复杂应用的部署(30)
    31. overlay网络和etcd实现多机的容器通信(31)
    32. docker的数据持久化存储和数据共享(32)
    33. windows下vagrant 通过SecureCRT连接centos7(33)
    34. 数据持久化之Data Volume(34)

    相关文章

      网友评论

      本文标题:『中级篇』数据持久化之bind Mounting(35)

      本文链接:https://www.haomeiwen.com/subject/zkzeuftx.html