xss
2017-06-16 13:06:29 +08:00
擦...不小心发表了...
的文件夹.如果你在创建 image 的时候没有指定 volume, 那么目录会被统一放到这个镜像创建出来的容器目录下面, 并不会享受上面的特定待遇.
在创建出上面的目录之后, 系统(linux 下, windows 不知道), 会以特定的 mount 方式, 将创建的文件夹 mount 到 volumes/一串 ID/_data
下面.
所以, 文件层面, 性能损失很小, 可能需要经过 cgroups 的权限检查, 不过这个都是 hook, 性能损失可以忽略不计.
其次, 网络层面, docker 实际上是依靠 iptables 转发包, 所以包在本机会经过一次转发, 这些转发都是在内核里面直接进行的, 并不会经过网络的上策设备, 所以性能损失业很小.
综上, 将数据库使用 docker 持久化, 并将数据库的数据文件映射出来, 整体来说, 对性能影响非常小.基本可以忽略不计.