美文网首页
挂载绑定

挂载绑定

作者: 深圳邱道长 | 来源:发表于2020-02-18 01:20 被阅读0次

https://docs.docker.com/storage/bind-mounts/

image-20200218004657709

从图可以看出,绑定挂载,就是挂载了一个本地的文件系统,然后docker可以管理它。

mount使用案例

案例来自docker in action 2th。

image-20200218010427984
  • 通过挂载,NGINX的核心配置来源于宿主机
  • 通过挂载,将日志写到了宿主机
touch ~/example.log
touch   ~/exmaple.conf
# 下面内容写入~/exmaple.conf
server {
    listen 80;
    server_name localhost;
    access_log  /var/log/nginx/custom.host.access.log main;
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}
 

继续执行

# 定义一系列的变量,用于引用
CONF_SRC=~/example.conf;
CONF_DST=/etc/nginx/conf.d/default.conf;
LOG_SRC=~/example.log;
LOG_DST=/var/log/nginx/custom.host.access.log;

# 运行
docker run -d --name diaweb --mount type=bind,src=${CONF_SRC},dst=${CONF_DST} --mount type=bind,src=${LOG_SRC},dst=${LOG_DST} -p 80:80 nginx:latest

访问http://localhost

image-20200218010245857

检查日志,如果通过

docker logs diaweb

你看不到任何信息,因为日志写入到挂载的文件位置了。

image-20200218010636024
cat ~/example.log 
172.17.0.1 - - [17/Feb/2020:17:02:37 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.9 Safari/537.36 Edg/81.0.416.6" "-"

通过这个案例我们不难发现其实就挂载了这个文件,然后容器将数据可以写到挂载的地方。

--mount type=bind,src=${CONF_SRC},dst=${CONF_DST}

  • src是你要挂载的位置,dst是容器当中的位置

我们举个例子

image-20200218011235214

日志的原理也是一样了。而挂载呢,可以是bind,volume或tmpfs。 现在只讨论绑定。

像这个配置文件很重要,不希望容器可以随意修改它。怎么办,只读。

挂载只读

加个参数就可以了。

docker run -d --name diaweb  --mount type=bind,src=${CONF_SRC},dst=${CONF_DST},readonly=true --mount type=bind,src=${LOG_SRC},dst=${LOG_DST} -p 80:80 nginx:latest

我们进入该容器试试。

docker exec diaweb /bin/bash
image-20200218012013155

这下就不能改动啦。

相关文章

  • 跟陈sir一起玩转docker卷 二

    使用绑定挂载(bind mount) 绑定挂载在Docker的早期就已经存在了。与卷相比,绑定挂载的功能非常有限。...

  • 挂载绑定

    https://docs.docker.com/storage/bind-mounts/ 从图可以看出,绑定挂载,...

  • docker卷挂载特点

    容器的卷挂载分为不同的挂载方式,有匿名挂载、具名挂载及绑定挂载 其中匿名挂载与具名挂载相比,使用匿名挂载在容器运行...

  • vue第二课:挂载点,模板,实例之间的关系

    vue实例是的el的绑定==挂载 而这个div为挂载点 挂载通过id或者是class 模板:挂载点内部的所有内容都...

  • docker-compose volumes 挂载解析

    编辑compose文件以添加文件绑定挂载1.4.docker-compose volumes 挂载解析 冒号左边是...

  • 一、挂载点、模板与实例的关系

    一、挂载点、模板与实例的关系挂载点:Vue中的el属性所绑定的DOM节点Vue只会处理挂载点内的内容 模板:挂载点...

  • The part of Vue's konwledge

    必须创建 Vue 实例 建议div 为挂载点挂载的对象 el:挂载点不能少 绑定的事件等在标签的内部,或者在标签中...

  • linux本地文件夹挂载

    挂载 sudo mount --bind [源文件夹] [目的文件夹] 绑定挂载后 bind/bind2 目录下的...

  • 4. docker存储卷

    docker存储卷 本文基于马哥的docker和k8s视频总结, 在此致谢马哥. 分层构建, 联合挂载 绑定挂载卷...

  • 给华章看的常用 命令

    挂载pve iso到idrac 断开链接 设置电源策略-性能优先 nvme存储用lvm绑定做raid

网友评论

      本文标题:挂载绑定

      本文链接:https://www.haomeiwen.com/subject/ybewfhtx.html