zoukankan      html  css  js  c++  java
  • docker 应用数据的管理之bind mounts

    创建容器使用bind mounts 挂载文件系统。宿主机文件系统会覆盖掉容器里初始数据

    [root@localhost ~]# mkdir /www/htpm -pv
    mkdir: 已创建目录 "/www"
    mkdir: 已创建目录 "/www/htpm"
    
    [root@localhost ~]# docker run -d --name web-7 -p 82:80 --mount type=bind,src=/www/htpm,dst=/usr/share/nginx/html nginx
    814082b3448bac40f12fbce6f9f207032d76bf284d8c633a5c7b29788d6e6d85
    [root@localhost ~]# ls /www/htpm/
    [root@localhost ~]# docker exec -it web-7 bash
    root@814082b3448b:/# cd /usr/share/nginx/html/
    root@814082b3448b:/usr/share/nginx/html# ls
    root@814082b3448b:/usr/share/nginx/html# 
    root@814082b3448b:/usr/share/nginx/html# mkdir l
    root@814082b3448b:/usr/share/nginx/html# echo "chenxi" > index.html
    root@814082b3448b:/usr/share/nginx/html# ls
    index.html  l
    root@814082b3448b:/usr/share/nginx/html# exit
    exit
    
    [root@localhost ~]# ls /www/htpm/
    index.html  l
    

      

     

    使用另一种方式挂载

    [root@localhost ~]# docker run -d --name web-c -p 91:80  -v /www:/opt nginx
    9eb50928c53e83b9804862b6441d22fc8a27a4963bd025cd8af41e3922e8e704
    [root@localhost ~]# ls /www/
    htpm
    [root@localhost ~]# docker run 
    centos         centos:latest  nginx          nginx:latest   nginx:web4     
    [root@localhost ~]# docker exec -it web-c bash
    root@9eb50928c53e:/# ls /opt/
    htpm
    root@9eb50928c53e:/# ls /opt/htpm/
    index.html  l
    root@9eb50928c53e:/# 
    

    volume 与bind mounts 的区别

     volume 特点

    运行多个容器之间共享数据

    当容器被移除时,该卷依旧存在

    多容器可以同时挂载相同的卷

    当明确删除时卷才会被删除

    将容器数据存储在远程数据或其他主机上

    将数据从一台docker主机迁移到另一台是,先停止容器,然后备份卷的目录

    bind mounts的特点

    从主机共享文件到容器。默认情况下。挂载主机/etc/resolv.conf 到每个容器。提供dns解析

    在docker主机上的开发环境和容器之间共享源代码。例如,可以将maven target 目录挂载到容器中,每次docker主机构建项是maven项目时,容器都可以访问构建的项目包

    当docker主机文件或目录结构包证与容器所需的绑定挂载一致时

    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    Django匆匆一眼却解答了多年疑惑
    2020年度总结,似乎没有什么大的长进,似乎也得到了一些收获
    Django搭建示例项目实战与避坑细节
    真香,理解记忆法学习Python基础语法
    如何让文科生5分钟写上Python
    Django官方为什么没有标准项目结构
    用PyCharm打个专业的招呼
    MySQL/MariaDB读写分离配置
    Mysql/Mariadb主从复制
    图解CentOS系统启动流程
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/10421693.html
Copyright © 2011-2022 走看看