??
4) mnt namespace 类似 chroot,将一个进程放到一个特定的目录执行。mnt namespace 允许不同 namespace 的进程看到的文件结构不同,这样每个 ??namespace ??中的进程所看到的文件目录就被隔离开 了。在 container 里头,看到的文件系统,就是一个完整的 linux 系统,有/etc、/lib 等,通 过 chroot 实现。??
??
5) uts namespace UTS("UNIX Time-sharing System") namespace 允许每个 container 拥有独立的 hostname 和 domain name, ??使其在网络上可以被视作一个独立的节点而非 Host 上的一个进程。??
??
6) user namespace 每个 container 可以有不同的 ??user ??和 ??group id, ??也就是说可以在 container 内部用 container 内部的用户执行程序而非 Host 上的用户。电脑主机结构??
??

有了以上 6 种 namespace 从进程、网络、IPC、文件系统、UTS 和用户角度的隔离,一个 container 就可以对外展现出一个独立计算机的能力,并且不同 container 从 OS 层面实现 了隔离。然而不同 namespace 之间资源还是相互竞争的,仍然需要类似 ulimit 来管理每个 container 所能使用的资源 - -cgroup。 cgroups(Control groups)实现了对资源的配额和度量。
四、docker的安装
docker的官网:https://docs.docker.com??
centos系列安装docker,docker支持centos6以上的版本
centos6:在redhat/centos环境下安装docker,官方文档要求linux的kernel至少3.8以上,并且docker只能运行在64位的系统中,由于redhat6和centos6的内核版本位2.6,因此必须先升级内核。
一定要记住升级内核,要不然会出现很多莫名其妙的问题,建议用yum安装
yum安装带aufs模块的3.10内核
#cd /etc/yum.repos.d
#wget
#yum install kernel-ml-aufs kernel-ml-aufs-devel
我建议大家直接使用redhat7/centos7系列的操作系统
centos7:使用软件源的安装程序
1.查询centos7的kernel版本。
2.docker软件包已经包括在默认的centos-extras软件源里面,因此想要安装docker,只需要执行下面yum命令:
[root@yankai ~]# yum install docker
3.安装完成以后我们直接启动docker并且设置docker开机自启动。
[root@kang ~]# systemctl enable docker.service [root@kang ~]# systemctl start docker [root@kang ~]# chkconfig docker on
4.查看docker的版本
查看docker版本的详细信息
docker默认使用unix socket
1)使用docker images显示本机上的images
2)获取images
当我们启动容器使用的image不在本地主机上时,docker会自动下载他们,这很耗时间。我们可以使用docker pull命令来预先下载我们需要的image 例如我们下载一个centos镜像
这样当我们使用这个images启动容器时,它就可以马上启动了
3)查找images
docker的一个特点是很用了很多不同的方式创建了不同的images,他们都上传到了docker hub共有仓库上,我们可以在docker hub的网站上来查找它们。使用docker search命令:比如我们需要mysql,我们直接docker hub mysql就可以查询所有mysql的image
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-87506-4.html
国家的概念除了在生死存亡之时格外强烈外
是什么目的吗