• docker实例化以后如何增加挂载目录


    在开发中,有时候会遇到一些棘手的情况,比如使用docker创建数据库后,忘记开始慢sql,又不想临时改变,当然是需要使用到配置文件了,但是慢sql日志又希望在宿主机中看到,那么就有必要增加挂载目录了.当然也可以在每次想看的时候直接拷贝实例中的数据到宿主机中,但是这不是我想要的.

    解决方案

    1.修改实例的配置信息,给实例增加新的挂载目录

    2.根据就容器的启动命令追加新的挂载目录,再新建容器

    这里小编使用的是第一种.那么,怎么给实例增加挂载路径呢?

    这里记录一下.

    • 记录下容器的ID(如:xxxxxxxx),并停止需要添加映射目录的容器
    • 命令
      • 查看运行的容器:docker ps
      • 查看已映射目录:docker inspect container_name | grep Mounts -A 20
      • 停止运行的容器:docker stop container_name
    • 查看docker的根目录命令:docker info | grep Root
    • 命令:cd /var/lib/docker/containers/containers_id

    b、修改容器的“config.v2.json”配置文件

    在“MountPoints”数组,最后添加宿主机目录“/opt/file”映射到容器的“/file”目录下,如下

    1. "/file": {
    2. "Source": "/opt/file",
    3. "Destination": "/file",
    4. "Driver": "",
    5. "Name": "",
    6. "Propagation": "rprivate",
    7. "RW": true,
    8. "Relabel": "ro",
    9. "SkipMountpointCreation": false,
    10. "Spec": {
    11. "Source": "/opt/file",
    12. "Target": "/file",
    13. "Type": "bind"
    14. },
    15. "Type": "bind"
    16. }

    修改容器的“hostconfig.json”配置文件

    在“Binds”数组,最后添加目录映射配置,如下

    "Binds": [ "/opt/file:/file" ]

    重启docker和容器

    • 重启docker服务:systemctl restart docker
    • 重启容器服:docker start containers_id
    • 注意:要重启docker服务,否则修改的配置文件无效,会被还原

    至此,大功告成!!!

  • 相关阅读:
    2023年终旺季正式拉开帷幕,赛盈分销盘点亚马逊秋季Prime Day热销款式!
    Unity入门01——unity界面基础
    【算法集训专题攻克篇】第十四篇之栈
    【无标题】
    numpy
    git命令汇总
    Redis五个使用场景
    Python pip 替换国内镜像源
    Java中的反射机制
    Go命令大全:全面解析与实践
  • 原文地址:https://blog.csdn.net/weixin_44071721/article/details/134026969