与传统虚拟技术的区别
- 传统虚拟就是是模拟了 硬件层,硬件层上安装操作系统, 进而提供完整的运行环境供应用程序运行
- 容器技术是直接运行在宿主机上,不包含操作系统内核,
本质上他在底层使用LXC启动一个 Container,通过cgroup等机制对不同的container内运行的应用程序进行隔离,权限管理和quota分配等
为什么每次都要sudo
目前版本的docker由于使用Socket进行通讯,因此需要root用户权限 sudo xxx,或者将需要使用Dockerclient的用户加入docker用户组
sudo passwd -a ${USER} docker
网桥的几个关系
所以默认本地直接都可以ping通
--link选项可以指定一个dockerA添加在dockerB中的hosts文件中,并且这个hosts文件是启动时候自动更新的
--icc 可以拒绝容器之间的链接,默认为true,然后只能用link的方式访问了,本质上是修改了iptables选项
sudo iptables -L -n 即可查看,iptables -F 清空后重新启动docker,仍然有docker 选项
docker与外网链接
默认ip-forward选项为true ,即是可以访问外网的