Docker挂载
1.挂载的概念
预备:你需要了解docker的基本知识
docker实现了容器部署,那当我们需要配置或者查看容器生成的日志文件怎么办?
docker提供了挂载机制:挂载能够将容器内的目录/文件和外部的目录/文件关联起来
关于挂载,网上很多帖子也说不太清晰,遇到问题让人很迷茫,在此简单整理
挂载的机制:
-
挂载前,文件以宿主机为准,挂载操作会将两边文件/文件夹处理成为宿主机文件夹状态
所以当你想要进行配置挂载时,需要先在宿主机创建配置文件,才能进行挂载。挂载操作无法将容器内配置文件挂载到宿主机上。
例:宿主机conf文件夹为空,容器内conf文件夹不为空,执行 -v 宿主机conf:容器conf,最后宿主机文件夹仍然为空,容器内的conf也会为空。因为挂载操作以宿主机为准。
-
挂载后,挂载后宿主机和容器内的文件夹会保持一致。当容器内新生成了文件,宿主机的文件夹中也会更新,查看到该文件。当宿主机修改文件,该操作也会反映到容器内。
2.如何让容器挂载到宿主机
我没有找到很快捷的方法,就好像docker run -v
这样一步即可完成的命令。
如果想要让容器内的文件挂载到宿主机,需要首先创建一个临时的容器,进入容器查看目录结构并且找到想要挂载的文件/文件夹。退出容器,使用docker -cp
命令将容器内的文件/文件夹复制到宿主上。再在宿主机上进行文件配置修改,最终删除临时容器,使用docker run -v
命令完成挂载
流程:
-
创建临时容器:略
-
进入容器
docker exec -it 容器名 bash -
退出容器,并将容器内文件夹复制到宿主机
exit #通过调整两个路径的顺序,能够调整cp的指向,与linux cp相同 docker cp 容器名:路径 路径 -
删除容器:略
-
挂载
docker run -v 宿主机路径:容器内路径
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!