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 宿主机路径:容器内路径
Docker挂载的更多相关文章
- Docker挂载主机目录Docker访问出现Permission denied的解决办法
Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题, [root@localhost soft]# docker images REPOSITORY ...
- docker挂载本地目录和数据卷容器
1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行docker run -it -v /home/dock/Downloads:/usr/Downloa ...
- docker挂载volume的用户权限问题,理解docker容器的uid
docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题. 这里通过遇到的问题来理解docker容器用户 ...
- docker挂载本地目录的方法总结
docker挂载本地目录的方法总结: Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录, ...
- win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据(使用外部redis)
目录 话题 (191) 笔记 (137) 资料区 (2) 评价 (33) 介绍 讨论区 话题 win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据( ...
- docker 挂载目录挂载不上**
最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上, 使用 $ pwd E:\Work\Aws\git\schema\dynamodb\local ...
- docker挂载数据卷
1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...
- docker挂载NVIDIA显卡运行pytorch
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 写在前面: 请参考之前的文章安装好CentOS.NVIDIA相关驱动及软件.docker及 ...
- 【原创】大叔经验分享(32)docker挂载文件修改生效
docker经常需要挂载文件到容器中,比如启动nginx # docker run -d --name test_nginx -v /tmp/nginx.conf:/etc/nginx/nginx.c ...
- win7 docker 挂载共享目录
在 win7 下用 docker 不像 win10 那样方便,安装包都不一样. 在 win7 下共享一个目录的方法如下: 1. 先设置 win7 到 VirtualBox 中 docker 用的那个虚 ...
随机推荐
- ftp多用户多目录配置
测试环境:centos7 1. 装包与卸载 yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /et ...
- Atcoder补题计划
11.17 AtCoder Regular Contest 151 知识点: A:简单题 B:计数,并查集 补题传送门
- uniapp 实现小程序中自定义tabBar 的方法
uniapp 实现小程序中自定义tabBar 的方法 第一种方式: page.json中配置 "tabBar": { "color": "#7A7E8 ...
- VS 生成后事件中自动修改文件名插入当前时间
目录 rename 指令 获取当前时间 将当前时间插入名字 rename 指令 VS 生成后事件中使用的是CMD 的语法 我们重命名使用的是Rename 简单用法如下: RENAME (REN) [d ...
- 快捷打开cmd管理员模式
win+s-搜索cmd 直接回车:普通用户模式的cmd CTRL+SHIFT+回车:管理员模式的cmd
- 说一下 ArrayDeque 和 LinkedList 的区别?
大家好,我是小彭. 在上一篇文章里,我们聊到了基于链表的 Queue 和 Stack 实现 -- LinkedList.那么 Java 中有没有基于数组的 Queue 和 Stack 实现呢?今天我们 ...
- K8s安装乐维5.0应用部署文档
乐维产品包具体打包为4个镜像包,分别为:mysql5.7.36.tar.zabbix_server.tar.itops_v1_4_x86_64.tar.bpm0.1.tar,对应的配置文件分别为:da ...
- 【重难点】函数式接口、函数式编程、匿名内部类、Lambda表达式、语法糖
一.函数式接口 1.概念 仅有一个抽象方法的接口 适用于函数式编程(Lambda表达式) 常见:Runnable.Comparator<>.生产型接口Producer的get方法.消费型接 ...
- TypeError: Object(…) is not a function
vue中遇到的这个错误 1. 先检查变量名或者函数名是否有重复定义 报这错之后看了好久,也没有发现starkflow上说的,重复定义了变量或者函数 2. vue的话 检查下函数写的位置,直接写到cre ...
- cesium加载倾斜摄影,添加billboard并注册点击事件
完整示例代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...