MacOS 下 Docker 容器内挂载的文件内外不一致问题

Docker挂载的文件,在外部修改后,容器内不生效问题

问题

MacOS,装了vbox,在里面运行的Docker,拉了一个 openresty-alpine镜像,发现volume挂载的文件,通过tail -n 100 /usr/share/nginx/xx.lua, 和 cat /usr/share/nginx/xx.lua 两个命令展示的结果不一致。

我想大家也会有类似的,在IDE编辑了代码,发现Docker容器内的文件没变化这样的问题。

解决否

已解决

方案

version: "2"
services:
    php:
        image: php
        volumes:
            - /mnt/vbox/compose/bs/php/:/var/www/html/:rw,cached

最简单粗暴的就是在rw后面加上cached,至于原因,见下面的官方解释,以及国内大牛讲解。

官方解释:link

国内大佬的总结:blog

发表评论

邮箱地址不会被公开。 必填项已用*标注