首页 > 其他分享 >Docker挂载

Docker挂载

时间:2022-12-21 16:44:21浏览次数:35  
标签:容器 文件 宿主机 文件夹 挂载 Docker docker

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,docker
From: https://www.cnblogs.com/zko0/p/16996579.html

相关文章

  • 151-docker 安装mysql 区分大小写
    拉镜像:dockerpullmysql:latest启动容器:dockerrun-p3306:3306--namemysql-case\-v/mydata/mysql/log:/var/log/mysql\-v/mydata/mysql/data:/var/lib/mysql......
  • 【docker】私有仓库,docker-compose介绍
    1.私有仓库1.1部署dockerpull拉取,都是从hub.docker上拉取的,公司自己做的docker镜像,放在哪比较合适dockerpush推到hub.docker,如果是公开,大家都可以下载,公司内部......
  • Ubuntu环境下安装Docker以及Docker-compose
    一、Ubuntu环境下安装Docker1.卸载老旧的版本(若未安装过可略)#CentOSyumremovedockerdocker-enginedocker.io#Ubuntusudoapt-getremovedockerdocker-engine......
  • 今日内容 Docker应用部署,迁移和备份及Dockerfile
    应用部署mysql部署#在宿主机上不需要安装mysql了,直接拉取mysql镜像,运行成容器即可#部署步骤 -1创建文件夹mkdir/root/mysql mkdir/root/mysql/conf.d ......
  • 应用部署与Dockerfile
    应用部署mysql部署#在宿主机上不需要安装mysql了,直接拉取mysql镜像,运行成容器即可#部署步骤 -1创建文件夹mkdir/root/mysql mkdir/root/mysql/conf.d mkdi......
  • Linux Docker 修改存储位置及镜像存储位置
    转发:修改Docker存储位置......
  • [mapbox] popup挂载自定义组件 vue
    pop.vue<template><div>222</div></template><script>exportdefault{name:'display-map-pop',components:{},props:{PopObj:{type:Array,d......
  • Docker高级篇:实战Redis集群!从3主3从变为4主4从
    通过前面两篇,我们学会了三主三从的Redis集群搭建及主从容错切换迁移,随着业务增加,可能会有主从扩容的,所以,本文我们来实战主从扩容PS本系列:《Docker学习系列》教程已经发布......
  • Dockerfile
    Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像,文件名必须叫Dockerfile#镜像哪里来?-1远程仓库下载的-2容器做......
  • docker安装elasticsearch与kibana
    docker安装es与kibanadocker-compose.ymlversion:'2.2'services:kibana:image:docker.elastic.co/kibana/kibana:7.17.8container_name:kibana7en......