Docker学习
来自Dennis的知识库
2014年1月15日 (三) 13:04Dennis zhuang(讨论 | 贡献)的版本
目录 |
术语
- File System: boot file system and root file system.
- Layer: union mount: read-write file system over read-only file system.
- Image: readonly layer
- Container: Start from an image,can have state.
层级结构图:
安装升级
- 前提: linux内核3.8及以上,启用cgroups和namespace。
- ubuntu或者debian启用内存和swap统计:编辑/etc/default/grub, 加入 GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
- 推荐使用ubuntu 64位server系统,因为docker的开发者环境也是这个,并且有apt源,升级也相对方便(重新apt安装即可)。
安全性保证
- 内核提供的cgroups和namespace机制,做到资源隔离,网络、CPU、进程、文件、内存等等。Docker本质上是LXC容器。
- Docker daemon进程的安全性,最好采用unix socket启动监听,如果启用TCP接口,最好限制能访问该端口的机器(防火墙?)。docker daemon目前需要root权限来启动,未来改进可以做到非root用户启动。容器内的进程也是能力受限,最好以非root用户启动。
- 利用一些内核特性来增加安全性,例如GRSEC