1.挂载的概念

预备:你需要了解docker的基本知识

docker实现了容器部署,那当我们需要配置或者查看容器生成的日志文件怎么办?

docker提供了挂载机制:挂载能够将容器内的目录/文件和外部的目录/文件关联起来

关于挂载,网上很多帖子也说不太清晰,遇到问题让人很迷茫,在此简单整理

挂载的机制:

  • 挂载前,文件以宿主机为准,挂载操作会将两边文件/文件夹处理成为宿主机文件夹状态

    所以当你想要进行配置挂载时,需要先在宿主机创建配置文件,才能进行挂载。挂载操作无法将容器内配置文件挂载到宿主机上。

    例:宿主机conf文件夹为空,容器内conf文件夹不为空,执行 -v 宿主机conf:容器conf,最后宿主机文件夹仍然为空,容器内的conf也会为空。因为挂载操作以宿主机为准。

  • 挂载后,挂载后宿主机和容器内的文件夹会保持一致。当容器内新生成了文件,宿主机的文件夹中也会更新,查看到该文件。当宿主机修改文件,该操作也会反映到容器内。

2.如何让容器挂载到宿主机

我没有找到很快捷的方法,就好像docker run -v这样一步即可完成的命令。

如果想要让容器内的文件挂载到宿主机,需要首先创建一个临时的容器,进入容器查看目录结构并且找到想要挂载的文件/文件夹。退出容器,使用docker -cp命令将容器内的文件/文件夹复制到宿主上。再在宿主机上进行文件配置修改,最终删除临时容器,使用docker run -v命令完成挂载

流程:

  1. 创建临时容器:略

  2. 进入容器

    docker exec -it 容器名 bash
  3. 退出容器,并将容器内文件夹复制到宿主机

    exit
    #通过调整两个路径的顺序,能够调整cp的指向,与linux cp相同
    docker cp 容器名:路径 路径
  4. 删除容器:略

  5. 挂载

    docker run -v 宿主机路径:容器内路径

Docker挂载的更多相关文章

  1. Docker挂载主机目录Docker访问出现Permission denied的解决办法

    Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题,   [root@localhost soft]# docker images REPOSITORY    ...

  2. docker挂载本地目录和数据卷容器

    1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行docker run -it -v /home/dock/Downloads:/usr/Downloa ...

  3. docker挂载volume的用户权限问题,理解docker容器的uid

    docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题. 这里通过遇到的问题来理解docker容器用户 ...

  4. docker挂载本地目录的方法总结

    docker挂载本地目录的方法总结: Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录, ...

  5. win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据(使用外部redis)

    目录 话题 (191) 笔记 (137) 资料区 (2) 评价 (33) 介绍 讨论区 话题 win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据( ...

  6. docker 挂载目录挂载不上**

    最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上, 使用 $ pwd E:\Work\Aws\git\schema\dynamodb\local ...

  7. docker挂载数据卷

    1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...

  8. docker挂载NVIDIA显卡运行pytorch

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃   写在前面: 请参考之前的文章安装好CentOS.NVIDIA相关驱动及软件.docker及 ...

  9. 【原创】大叔经验分享(32)docker挂载文件修改生效

    docker经常需要挂载文件到容器中,比如启动nginx # docker run -d --name test_nginx -v /tmp/nginx.conf:/etc/nginx/nginx.c ...

  10. win7 docker 挂载共享目录

    在 win7 下用 docker 不像 win10 那样方便,安装包都不一样. 在 win7 下共享一个目录的方法如下: 1. 先设置 win7 到 VirtualBox 中 docker 用的那个虚 ...

随机推荐

  1. 并发bug之源(二)-有序性

    什么是有序性? 简单来说,假设你写了下面的程序: int a = 1; int b = 2; System.out.println(a); System.out.println(b); 但经过编译器/ ...

  2. 【云原生 · Docker】Docker入门、安装配置

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying Docker入门.安装配置 1. Docker入门简介 2. Docker虚拟化特点 3. ...

  3. webrtc编译,不使用内置boringssl,使用openssl的

    前言 在项目开发过程中,会遇到使用https.TLS.DTLS等场景,这些第三方库一般会使用openssl作为加密套件.例如,qt中加密套件就会使用openssl,但是webrtc会默认使用borin ...

  4. 记一次 .NET 某自动化集采软件 崩溃分析

    一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简 ...

  5. SpringCloud(十一)- 秒杀 抢购

    1.流程图 1.1 数据预热 1.2 抢购 1.3 生成订单 (发送订单消息) 1.4 订单入库 (监听 消费订单消息) 1.5 查看订单状态 1.6 支付 (获取支付链接 ) 1.7 支付成功 微信 ...

  6. nc传输文件结束后不退出

    原因 版本不同 udp传输不会自动关闭 解决方案 nc -l 1234 > file.img nc ip 1234 -q 0 < file.img 采用tcp传输文件 -q 文件传输结束后 ...

  7. MyEclipse反编译插件安装于使用

    在MyEclipse开发中,使用反编译插件可以对jar包的源码进行随机的查看,节约了使用jd-gui查看时间. 百度云分享地址:链接:https://pan.baidu.com/s/1efNR6A 密 ...

  8. JavaEE Day00 Java Web课程介绍

    1.什么是Java Web? 使用Java语言开发互联网项目,简单理解为使用Java语言开发网站 2.课程介绍:30天 1.数据库(5天,第一阶段) 2.静态网页前端(5天,第二阶段) 3.Web核心 ...

  9. TypeScript 之 Type

    Type 描述:全称叫做 '类型别名',为类型字面量提供名称.比 Interface 支持更丰富的类型系统特性. Type 与 Interface 区别 Interface 只能描述对象的形状,Typ ...

  10. socket模块/TCP协议/黏包处理

    socket模块 如果我们需要编写基于网络进行数据交互的程序 意味着我们需要自己通过代码来控制我们之前 所学习的OSI七层(很繁琐 很复杂 类似于我们自己编写操作系统) socket类似于操作系统 封 ...