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. js 日期 相关

    Js计算指定日期加上多少天.加多少月.加多少年的日期 function DateAdd(interval, number, date) { switch (interval) { case " ...

  2. Java通过cal.get(Calendar.MONTH)比真实月份少一个月

    Calendar cal = Calendar.getInstance();假如当前是12月,cal.get(cal.MONTH)是11月.

  3. 华为平板安装APK,提示“该安装包未包含任何证书”

    有的平板上会有错误现象 打包时签名勾选v1即可.

  4. springboot08-jpa-mysql

    1.主要pom依赖: <!--jpa--> <dependency> <groupId>org.springframework.boot</groupId&g ...

  5. 20155324 2016-2017-2 《Java程序设计》第5周学习总结

    20155324 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 try.catch 1.求平均数程序示例 import java.util.Scanner; ...

  6. EF 事物Transaction简单操作

    /// <summary> /// 申请提现 /// </summary> /// <param name="userId">用户id</ ...

  7. Bootstrap响应式导航

    <nav class="navbar navbar-default" role="navigation"> <div class=" ...

  8. luogu P4314 CPU监控

    传送门 这是个远古巨坑阿qwq 没有历史最大值还是能比较好做的.可能会有一个想法,就是直接维护线段树每个结点出现过的历史最大值,每次最大值变化就更新.但是有个问题:可能一个点能影响历史最大值的标记还没 ...

  9. luogu P3704 [SDOI2017]数字表格

    传送门 我是真的弱,推式子只能推一半 下面假设\(n<m\) 考虑题目要求的东西,可以考虑每个gcd的贡献,即\[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{\lfloor ...

  10. 第21月第9日 windows下使用vim+ctags+taglist

    1. windows下使用vim+ctags+taglist 最近在公司的同事指导下,学会使用这个东西编写代码,效率提高了不少.所以记录下来,方便大家使用. 1. 下载gvim74.exe文件,并安装 ...