zhuang
2015-07-18 23:21:42 +08:00
回复排版可能会崩,将就着看吧。
"mounts": [
{
"type": "bind",
"source": "/mnt/blogWork/blog",
"destination": "/hexo",
"options": "rbind,rw"
},
这一节,相当于在宿主机(即你的 CoreOS)执行
mount -rbind /mnt/blogWork/blog /path/to/container/rootfs/hexo
容器中的 /hexo 将继承宿主机 /mnt/blogWork/blog 的权限设置。
本质是容器访问内部 /hexo 时访问了容器外的内容,是数据持久化的一种方法。无论是容器内 /hexo 还是宿主的 /mnt/blogWork/blog,都是访问的同一目标,对任何一方的改动都会即时反映在另一方中。
具体到你所说的“好使”和“不好使”的情况,区别在于,/mnt/blogWork/blog 的权限不同
好使的时候,所有者是 root:root
不好使的时候,所有者是 502:dialout
鉴于 /mnt 是用来持久化 docker 的,我猜 /mnt/blogWork/blog 也是某种形式的挂载?宿主中的 /mnt/blogWork/blog 的权限可能
一点补充
"process": {
"terminal": true,
"user": {
"uid": 0,
"gid": 0,
"additionalGids": null
},
"args": [
"bash"
],
"env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"TERM=xterm"
],
"cwd": "/hexo"
},
这一节,指定容器启动时以容器内的 uid:0 gid:0 即 root:root 运行 bash
由于没有启用 user 类型的 namespace,容器中的 root:root 会直接映射为宿主的 root:root,理论上不存在无法访问的问题。
关于“表达”的问题:
“好使”“不好使”的标准是什么?
“原地复制”的具体命令是什么,在宿主还是容器中复制?