为什么Docker是云计算必然的现在和未来

简介:

Docker所代表的Container技术,是对内核的Cgroups、namespace等内容的使用.

Linux Container=lxc

wKiom1jAprzwVHaOAAFyK4UeqDY660.png

借助BootZdocker可以实现在Mac和Windows上运行


CGroups限制容器的资源使用

Namespace机制,实现荣期间的隔离

chroot,文件系统的隔离


Linux内核提供的限制,记录和隔离进程组所使用的资源,由Google的工程师提出,后来被整合到kernel.

通过不同的子系统(blkio,cpu,cpuacct等)来实现对不同资源使用的控制和记录。


pid,容器有自己独立的进程表和1号进程

net,容器有自己独立的network info

ipc,在ipc通信时候,需要加入额外信息来标示进程

mnt,每个容器有自己唯一的目录挂在

utc,每个容器有独立的hostname和domain


wKiom1jBLNeTC5h_AAD8jL8L-fk762.png

adcanced multi layer unification filesystem

可以实现把多个不同目录的内容合并在一起

允许read-only和read-write目录并存


docker使用aufs来实现分层的文件系统的管理

只读部分定义为image,可写部分是container

image类似一个单链表系统,每个image包含一个指向parent image的指针

没有parent image的image是base image


docker pull {image name}

如果不指定tag的话,会把image的所有的tags都会download下来 

wKioL1jB4hKjMtwLAAbB4PinB6A152.png

wKiom1jB4hPgTePxAAHmO-N3V6g893.png

wKioL1jB4haD_MvFAAZY5ICtaVE941.png

wKiom1jB4hnQ0ipLAATQ8VJM2Yo471.png


使用RUN来运行一个DOcker Container

网络设置

Volume 共享文件系统

使用Link来连接两个容器


wKioL1jB5Aazt1IoAAD-3kBdCoo185.png

对于不存在的image,Docker会自动去Registry里面下载对应的image,然后再运行Container

wKiom1jB5ReiYBzFAACMDGnHfYg954.png

wKioL1jB5RiRNpmaAAC7hHe86jc188.png


wKiom1jB6iCjwHIWAACEO1z1xSU280.png

wKioL1jB6l7xpc3ZAADIuxCPbxU826.png


通过Logs命令可以看到Container中Command所指向进程的STDOUT,STDERR数据

通过-e参数,可以在运行container的时候添加系统环境变量










本文转自 yard521 51CTO博客,原文链接:http://blog.51cto.com/tangyade/1904611,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
Kubernetes 云计算 开发者
云计算中的容器化技术:Docker与Kubernetes的实践
云计算中的容器化技术:Docker与Kubernetes的实践
177 0
|
9月前
|
应用服务中间件 云计算 nginx
云计算-5-docker commit定制镜像
镜像是容器的基础,在每次执行docker run的时候都会指定那个镜像作为容器的基础,之前我们的例子中的镜像都是来自镜像仓库(Docker Hub,以后可能会来源于自己的私有仓Harbor),这些镜像有时候可能不满足我们的需求,那么就需要我们定制镜像以达到我们的需要,接下来几章接我们介绍一下如何定制镜像。
76 0
|
9月前
|
关系型数据库 MySQL Nacos
​云计算--Docker搭建Nacos以及搭建过程中常用的Docker命令
​云计算--Docker搭建Nacos以及搭建过程中常用的Docker命令
149 0
|
5月前
|
分布式计算 Hadoop 应用服务中间件
云计算-webservice-springcloud-hadoop-docker-openstack
云计算-webservice-springcloud-hadoop-docker-openstack
23 0
|
6月前
|
Ubuntu Linux 云计算
云计算(Docker)
云计算(Docker)
129 2
|
9月前
|
NoSQL 关系型数据库 MySQL
云计算--Docker典型命令Docker run部署nginx\mysql\redis
云计算–Docker典型命令Docker run部署nginx\mysql\redis 上两章节分别介绍了Docker在Centos和Ubuntu上的安装方法,这次我们就来介绍一下docker常用命令之一的docker run,并且部署常用应用mysql、redis、nginx作为docker run的示例。
143 0
|
9月前
|
Ubuntu 应用服务中间件 云计算
云计算--Docker在Ubuntu上安装
云计算--Docker在Ubuntu上安装
253 0
|
10月前
|
分布式计算 Ubuntu Hadoop
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
|
弹性计算 安全 Linux
《云计算技术》实验-Docker部署
安装Docker(Linux) 部署一个简单的Python应用 部署c++应用
232 0
《云计算技术》实验-Docker部署