docker经常需要挂载文件到容器中,比如启动nginx

# docker run -d --name test_nginx -v /tmp/nginx.conf:/etc/nginx/nginx.conf nginx

然后就有修改配置文件然后刷新的功能,如果直接用vi编辑宿主机文件

# vi /tmp/nginx.conf

然后在docker容器中执行reload

# docker exec -it test_nginx nginx -s reload

会发现配置没有生效,此时直接查看docker容器中的文件内容发现还是旧的

# docker exec -it test_nginx cat /etc/nginx/nginx.conf

所以看起来只能将docker容器restart,正确的操作方法应该是

# cp /tmp/nginx.conf /tmp/nginx.conf2
# vi /tmp/nginx.conf2
# cat /tmp/nginx.conf2 > /tmp/nginx.conf
# docker exec -it test_nginx nginx -s reload

这是因为用vi编辑保存时会修改文件的inode,而cat重定向不会,查看文件inode的方法

# stat /path/to/file
# ls -i /path/to/file

【原创】大叔经验分享(32)docker挂载文件修改生效的更多相关文章

  1. 【原创】大叔经验分享(52)ClouderaManager修改配置报错

    Cloudera Manager中修改配置可能报错: Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'MESSAGE ...

  2. 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?

    前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost.. ...

  3. docker 挂载文件出错

    docker不能挂载文件,只能挂载文件夹,所以先从一个容器中复制一份配置文件. docker run --name test -d idp docker cp test:/app/appsetting ...

  4. gitnore文件修改生效方法

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog 当修改gitnore文件后,常常出现文件不生效的情况, ...

  5. 【原创】大叔经验分享(71)docker容器中使用jvm工具

    java应用中经常需要用到jvm工具来进行一些操作,如果java应用部署在docker容器中,如何使用jvm工具? 首先要看使用的docker镜像, 比如常用的openjdk镜像分为jdk和jre,只 ...

  6. 【原创】大叔经验分享(51)docker报错Exited (137)

    docker container启动失败,报错:Exited (137) *** ago,比如 Exited (137) 16 seconds ago 这时通过docker logs查不到任何日志,从 ...

  7. 【原创】大叔经验分享(23)spark sql插入表时的文件个数研究

    spark sql执行insert overwrite table时,写到新表或者新分区的文件个数,有可能是200个,也有可能是任意个,为什么会有这种差别? 首先看一下spark sql执行inser ...

  8. 【原创】大叔经验分享(89)docker启动openjdk执行jmap报错

    docker启动openjdk后,可以查看进程 # docker exec -it XXX jps 10 XXX.jar 可见启动的java进程id一直为10,然后可以执行jvm命令,比如 # doc ...

  9. 【原创】大叔经验分享(69)docker启动java应用的时区问题

    在docker中启动tomcat或java类应用,获取时间默认是UTC时间,这是因为容器内的locale没有设置为东8区,最简单的方式是增加JAVA_OPTS 如果是java,直接在java命令后增加 ...

随机推荐

  1. oldboy s21day05

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.请将列表中的每个元素通过 "_" 链接起来.'''users = ['李少奇','李 ...

  2. vue input添加回车触发

    普通vue input @keyup.enter="onSubmit" element el-input @keyup.enter.native="onSubmit&qu ...

  3. js对象,字符串 互相 转换

     JSON.stringify(jsonobj);    //可以将json对象转换成json字符串 反过来: JSON.parse(jsonstr);     //可以将json字符串转换成json ...

  4. nexys4ddr数码管动态扫描Verilog例程

    题目:实现数码管动态扫描功能,将十六个开关的值以十六进制的方式在4个数码管上同时显示出来. `timescale 1ns / 1ps module top( clk, sw, seg, an ); / ...

  5. String,StringBuilder,StringBuffer区别

    一.String,StringBuilder,StringBuffer的大概了解 大家知道String,StringBuilder,StringBuffer三个的基本应用场景. String会一直创建 ...

  6. MVC 自定义路由

    RouteConfig.cs 代码如下: public class RouteConfig { public static void RegisterRoutes(RouteCollection ro ...

  7. MacOS下安装小米SQL优化工具soar

    1 下载源码包 赋予权限 wget https://github.com/XiaoMi/soar/releases/download/0.11.0/soar.darwin-amd64 -O soar ...

  8. json数据的处理和转化(loads/load/dump/dumps)

    import requests import json url='https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%8 ...

  9. git操作本地仓库基本使用教程

    1.创建仓库 mkdir learngit 2.初始化 cd learngit git init 3.添加文件(把要提交的所有修改放到暂存区(Stage)) git  add 文件 4.提交到仓库(以 ...

  10. SFTP免密码登录原理

    概述 Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接. Public Key认证的基础在于一对密钥,public key和private key,public k ...